我正在使用tqdm在Jupyter笔记本上运行的脚本中打印进度。我正在通过tqdm.write()将所有消息打印到控制台。然而,这仍然给我一个倾斜的输出,如下所示:
也就是说,每当需要打印新的一行时,下一行就会打印一个新的进度条。当我通过终端运行脚本时,这不会发生。我怎么解决这个问题?
我正在使用tqdm在Jupyter笔记本上运行的脚本中打印进度。我正在通过tqdm.write()将所有消息打印到控制台。然而,这仍然给我一个倾斜的输出,如下所示:
也就是说,每当需要打印新的一行时,下一行就会打印一个新的进度条。当我通过终端运行脚本时,这不会发生。我怎么解决这个问题?
当前回答
对于每个人谁是在窗口,不能解决复制条的问题与任何解决方案在这里提到。我不得不安装colorama包,因为tqdm的已知问题已经解决了。
pip install colorama
试试下面这个例子:
from tqdm import tqdm
from time import sleep
for _ in tqdm(range(5), "All", ncols = 80, position = 0):
for _ in tqdm(range(100), "Sub", ncols = 80, position = 1, leave = False):
sleep(0.01)
这将产生如下内容:
All: 60%|████████████████████████ | 3/5 [00:03<00:02, 1.02s/it]
Sub: 50%|██████████████████▌ | 50/100 [00:00<00:00, 97.88it/s]
其他回答
使用tqdm_notebook
from tqdm import tqdm_notebook as tqdm
x=[1,2,3,4,5]
for i in tqdm(range(0,len(x))):
print(x[i])
对于每个人谁是在窗口,不能解决复制条的问题与任何解决方案在这里提到。我不得不安装colorama包,因为tqdm的已知问题已经解决了。
pip install colorama
试试下面这个例子:
from tqdm import tqdm
from time import sleep
for _ in tqdm(range(5), "All", ncols = 80, position = 0):
for _ in tqdm(range(100), "Sub", ncols = 80, position = 1, leave = False):
sleep(0.01)
这将产生如下内容:
All: 60%|████████████████████████ | 3/5 [00:03<00:02, 1.02s/it]
Sub: 50%|██████████████████▌ | 50/100 [00:00<00:00, 97.88it/s]
TQDM自动加载合适的进度条,无论是普通代码或交互环境通过
from tqdm.auto import tqdm
进度条使用tqdm的另一个例子
from tqdm import tqdm
my_list = list(range(100))
with tqdm(total=len(my_list)) as pbar:
for x in my_list:
pbar.update(1)
大多数答案现在都过时了。最好正确地导入tqdm。
from tqdm import tqdm_notebook as tqdm