首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >断路中断tqdm

断路中断tqdm
EN

Stack Overflow用户
提问于 2018-08-25 12:49:20
回答 1查看 6.7K关注 0票数 12

以下简单代码使用tqdm在循环中迭代时显示进度条:

代码语言:javascript
复制
import tqdm
for f in tqdm.tqdm(range(100000000)):
  if f > 100000000/4:
    break

当执行中断时,它将失败:

代码语言:javascript
复制
$ 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

我使用Pythonv2.7.6和tqdmv4.32.1:

代码语言:javascript
复制
$ python --version
Python 2.7.6
$ python -m tqdm --version
4.23.1

我在互联网上寻找类似的错误,但没有积极的结果。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-25 13:03:48

结果表明,当tqdm迭代器被中断时,必须手动关闭:

代码语言:javascript
复制
import tqdm
iterator = tqdm.tqdm(range(100000000))
for f in iterator:
  if f > 100000000/4:
    iterator.close()
    break

这执行时没有问题。

票数 19
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52017481

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档