tqdm 显示我知道长度的生成器的进度

tqdm show progress for a generator I know the length of

我正在遍历一个我知道其长度的大文件,但正在延迟处理,因为它太大而无法放入内存。我希望能够使用 tqdm 来跟踪我在文件中的进度,但由于它无法从我正在使用的生成器中获取示例总数,因此它唯一显示的是估计 iterations/second。有什么方法可以告诉 tqdm 它将循环多少个元素,以便我可以获得一些其他统计信息?

您可以将 length 传递给参数 total 以使其工作。

示例:

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