直接来自文档:
如果提供了可选变量 total(或带有 len() 的可迭代),则会显示预测统计信息。
同样来自文档:
total
: int
, 可选的。
预期的迭代次数。如果(默认值:None),如果可能,使用 len(iterable)。作为最后的手段,只显示基本的进度统计信息(没有 ETA,没有进度条)。如果 gui 为 True 并且此参数需要后续更新,请指定一个初始的任意大正整数,例如 int(9e9)。
当您total
将参数作为参数提供给 时tqdm
,您是在估计代码应该运行多少次迭代,因此它将为您提供预测信息(即使您提供的可迭代项没有长度)。
例子
如果我们提供一个没有参数的生成器(没有 a 的东西),__len__
我们不会得到进度条,我们只会得到经过的时间:tqdm
total
no_len = (i for i in range(50))
for i in tqdm(no_len):
time.sleep(0.1)
# Result
19it [00:01, 9.68it/s]
但是,如果我们使用total
参数来给出预期的迭代,tqdm
现在将估计进度:
for i in tqdm(no_len, total=49):
time.sleep(0.1)
# Result
94%|████████████████████████████████████████▎ | 46/49 [00:04<00:00, 9.72it/s
除了total
参数之外,tqdm
还有一整套附加参数,您可以在此处找到