tqdm可以为我已知长度的生成器显示进度

98

我正在遍历一个很大的文件,已知其长度,但是由于太大无法放入内存中进行处理。我希望能够使用tqdm来跟踪我的文件处理进度,但由于它无法从我使用的生成器中获取总共的示例数量,因此它只显示估计的每秒迭代次数。有没有办法告诉tqdm我要循环处理的元素总数,以便获取其他统计信息呢?


20
将长度传递给tqdm函数的可选参数total - wildwilhelm
1个回答

167
你可以将长度传递到参数总数,使其正常工作。

示例:

from tqdm import tqdm

length = 1000000
generator = (3 * n for n in range(length))  # just doing something random
for n in tqdm(generator, total=length):
    pass

使用在生成器里的迭代器(同时实现__len__)相对于只指定tqdm的“total”参数有何优劣之处? - David Cian

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接