python中tqdm(进度条模块) 详细用法及参数解释

进度条 tqdm 库比较热门,声称比老版的 python-progressbar 库的单次响应时间提高了 10 倍以上。

其实进度条的原理十分的简单,无非就是在 shell 中不断重写当前输出。

from tqdm import tqdm
 
pbar = tqdm(range(300))#进度条
 
for i in pbar:
    err = 'abc'
    pbar.set_description("Reconstruction loss: %s" %(err))

参数解释

iterable=None,            
desc=None,      传入str类型,作为进度条标题(类似于说明)
total=None,     预期的迭代次数
leave=True,             
file=None, 
ncols=None,         可以自定义进度条的总长度
mininterval=0.1,    最小的更新间隔
maxinterval=10.0,   最大更新间隔miniters=None, ascii=None, unit='it',unit_scale=False, dynamic_ncols=False, smoothing=0.3,bar_format=None, initial=0, position=None, postfix             以字典形式传入 详细信息 例如  速度= 10

如:

from tqdm import tqdm

dict = {"a":123,"b":456}
for i in tqdm(range(10),total=10,desc = "WSX",ncols = 100,postfix = dict,mininterval = 0.3):
    pass

执行结果如下:
python中tqdm(进度条模块) 详细用法及参数解释_第1张图片

再如:

from tqdm import trange
from random import random, randint
from time import sleep
with trange(100) as t:
    for i in t:
        # Description will be displayed on the left
        t.set_description('下载速度 %i' % i)
        # Postfix will be displayed on the right,
        # formatted automatically based on argument's datatype
        t.set_postfix(loss=random(), gen=randint(1, 999), str='详细信息',
                     lst=[1, 2])
        sleep(0.1)

执行结果如下:
python中tqdm(进度条模块) 详细用法及参数解释_第2张图片

你可能感兴趣的:(python语言核心总结)