在tqdm进度条下方打印文本

时间:2017-08-02 15:28:44

标签: python tqdm

我想在tqdm进度条下方的环状缓冲区中显示文本。每次更新栏时都不一定会更新此文本。使用tqdm的.write()函数时,文本仅打印在条形图的右侧,这是不希望的。我不确定tqdm是否可行。

我希望它看起来像这样:

70%|███████   | 7/10 [00:00<00:00,  9.65it/s]
Message 2 ....
Message 3 ....
Message 4 ....
Message 5 ....

当打印新消息时,消息2将被删除,消息将在堆栈中向上移动。我没有与tqdm联系,但我一直在使用它。

1 个答案:

答案 0 :(得分:0)

您可以使用第二个进度条,仅在其中使用说明。

import random
import time
from tqdm import tqdm

n_iter = 1000

with tqdm(total=n_iter, position=1, bar_format='{desc}', desc='No high number so far.') as desc:
    for i in tqdm(range(n_iter), total=n_iter, position=0):
        x = random.random()
        if x > 0.95:
            desc.set_description('High random number: %f' % x)
        time.sleep(0.1)