循环中断 breaking tqdm
Loop break breaking tqdm
以下简单代码使用 tqdm 在循环迭代时显示进度条:
import tqdm
for f in tqdm.tqdm(range(100000000)):
if f > 100000000/4:
break
执行break失败:
$ python test.py
24%|████▎ | 24425076/100000000 [00:03<00:11, 6550673.18it/s]
Exception KeyError: KeyError(<weakref at 0x7fb8799f1158; to 'tqdm' at 0x7fb8799de190>,) in ignored
我正在使用 Python v2.7.6 和 tqdm v4.32.1:
$ python --version
Python 2.7.6
$ python -m tqdm --version
4.23.1
我在 Internet 上查找了类似的错误,但没有得到积极的结果。
原来tqdm迭代器在中断时必须手动关闭:
import tqdm
iterator = tqdm.tqdm(range(100000000))
for f in iterator:
if f > 100000000/4:
iterator.close()
break
这执行没有问题。
以下简单代码使用 tqdm 在循环迭代时显示进度条:
import tqdm
for f in tqdm.tqdm(range(100000000)):
if f > 100000000/4:
break
执行break失败:
$ python test.py
24%|████▎ | 24425076/100000000 [00:03<00:11, 6550673.18it/s]
Exception KeyError: KeyError(<weakref at 0x7fb8799f1158; to 'tqdm' at 0x7fb8799de190>,) in ignored
我正在使用 Python v2.7.6 和 tqdm v4.32.1:
$ python --version
Python 2.7.6
$ python -m tqdm --version
4.23.1
我在 Internet 上查找了类似的错误,但没有得到积极的结果。
原来tqdm迭代器在中断时必须手动关闭:
import tqdm
iterator = tqdm.tqdm(range(100000000))
for f in iterator:
if f > 100000000/4:
iterator.close()
break
这执行没有问题。