Python, tqdm: есть ли способ напечатать что-нибудь между индикатором выполнения и тем, что печатается с использованием tqdm.write? - PullRequest
0 голосов
/ 20 декабря 2018

У меня есть группа индикаторов выполнения, и я использую tqdm.write, чтобы распечатать сообщения журнала над ними во время их работы.По эстетическим соображениям я хотел бы визуально отделить сообщения журнала от индикаторов выполнения пустой строкой или что-то вроде повторения «=», например:

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

Есть ли способ достичь этого?

1 Ответ

0 голосов
/ 20 декабря 2018

Это что-то вроде хака, но для вас может быть следующее:

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)
...