现在网上搜到的大多数tqdm
教程都是让你在循环的list外面套一个tqdm()
,这种做法是对的,但不适合我。在处理txt
时,最好的做法是读一行,处理一行。如果全部读进去存到内存中再取出,不仅耗时,也耗内存。
对于此类问题我的想法是:先得到总行数,再用下面这个官方示例:(还是官方文档好)
pbar = tqdm(total=100)
for i in range(10):
sleep(0.1)
pbar.update(10)
pbar.close()
得到总行数不难:
count = 0
with open(path, "rb") as frd:
for line in frd:
count = count + 1
因此可以用以下这个小代码解决问题:
path = r"C:\Users\Lenovo\Desktop\test.txt"
count = 0
with open(path, "rb") as frd:
for line in frd:
count = count + 1
# print(count)
pbar = tqdm(total=count)
with open(path, "rb") as frd:
for line in frd:
sleep(0.5) # 替换成你的任务
pbar.update(1)
pbar.close()