Python,tqdm:是否可以在进度条和使用tqdm.write打印的内容之间打印内容?

时间:2018-12-20 18:24:18

标签: python console tqdm

我有一组进度条,当它们运行时,我使用tqdm.write在它们上方打印日志消息。出于美学原因,我想以空行或类似重复的“ =”之类的方式在视觉上将日志消息与进度条分开:

Log message 1                                                                                  
Log message 2                                                                              
Log message 3 
==================================================                                                                                                
Progress 1: 50%|█████████████████              |
Progress 2: 50%|█████████████████              |

有什么办法可以实现?

1 个答案:

答案 0 :(得分:1)

这有点骇人听闻,但以下内容可能是您的起点:

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)