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个数值的平均,近似为当前的瞬时迭代速度