python - Python,tqdm:有没有办法在进度条和使用 tqdm.write 打印的内容之间打印一些内容?
问题描述
我有一组进度条,我用来tqdm.write
在它们运行时在它们上方打印日志消息。出于美学原因,我想用空行或类似重复的“=”之类的东西在视觉上将日志消息与进度条分开,例如:
Log message 1
Log message 2
Log message 3
==================================================
Progress 1: 50%|█████████████████ |
Progress 2: 50%|█████████████████ |
有没有办法做到这一点?
解决方案
这有点小技巧,但以下内容可能是您的开始:
from tqdm import tqdm
from tqdm._utils import _term_move_up
import time
pbar = tqdm(range(5))
border = "="*50
clear_border = _term_move_up() + "\r" + " "*len(border) + "\r"
for i in pbar:
pbar.write(clear_border + "Message %d" % i)
pbar.write(border)
pbar.update()
time.sleep(0.1)