Python, tqdm: есть ли способ напечатать что-нибудь между индикатором выполнения и тем, что печатается с использованием tqdm.write?
У меня есть группа индикаторов, и я использую tqdm.write
распечатать сообщения журнала над ними во время их работы. По эстетическим соображениям я хотел бы визуально отделить сообщения журнала от индикаторов выполнения пустой строкой или что-то вроде повторения "=", например:
Log message 1
Log message 2
Log message 3
==================================================
Progress 1: 50%|█████████████████ |
Progress 2: 50%|█████████████████ |
Есть ли способ добиться этого?
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)