看别人代码中有用到,不知道什么意思,查了一下感觉很有用。开心~~
tqdm 是一个快速,可扩展的Python进度条,可以在 Python 长循环中添加一个进度提示信息,用户只需要封装任意的迭代器 tqdm(iterator)。
对可迭代对象用tqdm处理下,再去处理时,控制台就会显示进度条了。在我理解来就是tqdm就是一个装饰器,虽然网上查了没人这么说,但是应该就是一个装饰器的原理,这么理解是没问题的。
本来不想写了,但是已经开头了。不想写是像这样的函数直接看源码的说明就可以。
使用实例1:
from tqdm import tqdm
import time
for i in tqdm(range(10)):
time.sleep(0.5) # do something
pass
使用实例2:
from tqdm import tqdm
import time
for char in tqdm(["a", "b", "c", "d"]):
time.sleep(0.5) # do something
pass
使用实例3:
from tqdm import trange
for i in trange(10):
time.sleep(0.5) # do something
pass
使用实例4:
from tqdm import tqdm
import time
for i in tqdm(range(20)):
time.sleep(0.1)
pass
使用实例5:
from tqdm import tqdm
import time
d = {'loss':0.2,'learn':0.8}
for i in tqdm(range(50),desc='进行中',ncols=10,postfix=d):
#desc设置名称,ncols设置进度条长度.postfix以字典形式传入详细信息
time.sleep(0.1)
pass
使用实例6:
from tqdm import tqdm
import time
bar = tqdm(['p1','p2','p3','p4','p5'])
for b in bar:
time.sleep(1)
bar.set_description("处理{0}中".format(b))
使用实例7:
from tqdm import tqdm
import time
with tqdm(total=100) as bar: # total表示预期的迭代次数
for i in range(100): # 同上total值
time.sleep(0.1)
bar.update(1) #每次更新进度条的长度