tqdm库

Instantly make your loops show a smart progress meter - just wrap any iterable with tqdm(iterable)

tqdm

跨平台的针 对可迭代对象进行封装 实现的进度条显示的python库.(仅对循环的迭代进度及速度显示,和循环的具体内部无关)

# 方法一
import time
from tqdm import tqdm  

for i in tqdm(range(100)):  
    time.sleep(0.01)

# 方法二
import time
from tqdm import trange

for i in trange(100):
    time.sleep(0.01) 
"""
# trange(i) is a special optimised instance of tqdm(range(i))
# tqdm(range(i))---->trange(i)
"""

import time 
from tqdm import tqdm
pbar = tqdm(["a","b","c","d"])
for char in pbar:
    pbar.set_description("Processing %s" % char)#显示进度条迭代到当前轮的迭代对象的信息
    time.sleep(1)


pbar = tqdm(total=200)  #这里要么是可迭代对象(此时迭代次数就是可迭代对象的长度len(),要么是一个len数值传给total.
for i in range(20):  
    pbar.update(10)# 每迭代多少次更新显示进度条
    time.sleep(0.1)
# 4/4 [00:04<00:00,  1.00s/it]  当前迭代到4个对象的最后一个,共计用时0.04,剩余时间0.00,迭代指数加权平均速度为1it/s

#  指数加权平均速度:观察期的近期观察值对预测值有较大影响,它更能反映近期变化的趋势。https://www.cnblogs.com/jiangxinyang/p/9705198.html
#  即可以理解为最近一段时间的平均,tqdm的默认平均因子0.3,即1/0.7 = 1.4,最近1.4个数值的平均,近似为当前的瞬时迭代速度
posted @ 2020-11-06 10:50  Parallax  阅读(181)  评论(0编辑  收藏  举报