9

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

我希望它看起来像这样:

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

打印新消息时,消息 2 被删除,消息在堆栈中向上移动。我没有绑定到 tqdm,但到目前为止我一直在使用它。

4

1 回答 1

1

您可以使用第二个进度条,只使用描述。

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)
于 2018-11-27T15:05:06.487 回答