解决tqdm一直往下滚动的问题

问题

1%|▋ | 95/10000 [00:00<00:10, 945.58it/s

2%|█▎ | 190/10000 [00:00<00:10, 945.08it/

3%|█▊ | 283/10000 [00:00<00:10, 940.11it/

4%|██▍ | 378/10000 [00:00<00:10, 940.84it

解决方式:

第一种
加上一个ncols的参数就行了,规定一下滚动条的长度,往下滚动的原因是它太长了。

for i in tqdm(range(100),ncols=80)
    j = i*i 

一般设成80就很好看了。

第二种
原因
在一个迭代过程中,如果迭代未完成就被中断,随后也没有从断点继续把剩余迭代完成,就会残存一个未能完成但参与显示的进度条,从而导致多行输出

解决
重启jupyter notebook,销毁所有对象即可。
或采用创建对象的方式使用tqdm,并且在迭代中断时使用close()方法手动销毁未完成的进度条,如:

from tqdm import tqdm
#创建tqdm对象
t = tqdm(range(0,1000000))
#迭代
for i in t:
	pass

当上述迭代发生中断后,执行t.close(),随后再执行t的赋值语句,就能避免进度条多行显示的发生。

参考:https://blog.csdn.net/lwgkzl/article/details/101025691,
https://niuzifan.blog.csdn.net/article/details/108174930

posted @ 2021-03-07 10:35  nmydt  阅读(705)  评论(0编辑  收藏  举报