我一直在寻找进度条解决方案,并遇到了tqdm。在将其集成到我的程序中并按照示例进行操作后,它使用我指定的可迭代运行良好,但最初没有显示进度条。我发现我使用的可迭代器不支持。我修改了代码,以便手动指定参数,现在,运行循环会导致程序以0%的进度退出。以下是带有输出的初始代码和修改后的代码:lentotal
初始代码:
import pathlib
from tqdm import tqdm
paths = pathlib.Path('F://Music').rglob('*.mp3')
for f in tqdm(paths):
# do stuff that takes time
print(f.name) # prints ok
初始输出:320it [00:00, 25528.56it/s]
修改后的代码:
import pathlib
from tqdm import tqdm
paths = pathlib.Path('F://Music').rglob('*.mp3')
cnt = 0
for p in paths: cnt += 1
for f in tqdm(paths, total=cnt):
# do stuff that takes time
print(f.name) # line not reached
新输出:0%| | 0/320 [00:00<?, ?it/s]
在这种情况下,指定 似乎会破坏它,即使总数是正确的。total
慕姐4208626
相关分类