参数声明
class tqdm():
def __init__(self, #所有参数均为【可选】
iterable=None, #可迭代对象,在手动更新时不需要进行设置
desc=None, #str, 左边进度条描述文章(类似说明)
total=None, #总的项目数
leave=True, #迭代完成后是否保留进度条
file=None, #输出指向位置,默认是终端,一般不需要设置
ncols=None, #调整进度条宽度,默认是根据环境自动调剂长度。若设置为0,就没有进度条,只有输出信息
mininterval=0.1, #最小的更新间隔,默认0.1
maxinterval=10.0, #最大更新间隔,默认10.0
miniters=None, #最小的展示更新进度,若设置为0,程序会自动调整去让miniterval与它相适应
ascii=None, #若为True,会使用ASCII码。默认为False,使用unicode
disable=False,
unit='it', #描述处理项目的文章,默认是'it'。例如:100it/s,处理照片的话设置为'img',则为100img/s
unit_scale=False, #自动根据国际标准进行项目处理速度单位的换算, 例如 100000 it/s >> 100k it/s
dynamic_ncols=False, #会在环境中持续改变ncols和nrows
smoothing=0.3, #平均移动因素和预计的时间
bar_format=None, #进度条格式(可自定义)
initial=0,
position=None, #设置打印进度条的位置,可以设置多个bar
postfix=None, #字典形式信息
set_postfix, #设置信息
unit_divisor=1000):
1.参数desc来帮助我们设置进度条的说明文字。
from tqdm import trange
import time
for i in trange(10, desc='这是一个平平无奇的进度条'):
time.sleep(0.2)
2.update方法
使用update方法来控制进度条的更新进度,这里的tqdm里面的参数可以不是迭代类型,只需设定总任务大小。
with tqdm(total=200) as pbar:
for i in range(20):
time.sleep(1)
pbar.update(10)#总任务是200,每次更新10
更细化的还可以指定进度条的长度,单位类型等。
with tqdm(total=100, desc='进度条', ncols=80, unit='img') as pbar:
for i in range(10):
time.sleep(1)
pbar.update(10)
3.自定义进度条显示信息
from tqdm import trange
from random import random,randint
import time
with trange(100) as t:
for i in t:
#设置进度条左边显示的信息
t.set_description("GEN %i"%i)
#设置进度条右边显示的信息
t.set_postfix(loss=random(),gen=randint(1,999),str="h",lst=[1,2])
time.sleep(0.1)