tqdm. Использование нескольких баров
Я хотел бы иметь два независимых индикатора выполнения.
Это минимальный пример, когда я использую две панели, они не обновляются должным образом. Вместо этого создаются новые бары.
import time
from tqdm import *
pbar1 = tqdm(total=100)
pbar2 = tqdm(total=200)
for i in range(10):
pbar1.update(10)
pbar2.update(20)
time.sleep(1)
При запуске примера. Я получаю что-то вроде:
0%| | 0/100 [00:00<?, ?it/s]
20%|██ | 20/100 [00:01<00:04, 19.97it/s]
30%|███ | 30/100 [00:02<00:04, 15.36it/s]
40%|████ | 40/100 [00:03<00:04, 13.23it/s]
50%|█████ | 50/100 [00:04<00:04, 12.05it/s]
60%|██████ | 60/100 [00:05<00:03, 11.35it/s]
70%|███████ | 70/100 [00:06<00:02, 10.90it/s]
80%|████████ | 80/100 [00:07<00:01, 10.61it/s]
90%|█████████ | 90/100 [00:08<00:00, 10.42it/s]
100%|██████████| 100/100 [00:09<00:00, 10.28it/s]
100%|██████████| 200/200 [00:09<00:00, 20.57it/s]
Как показано, обновление не работает должным образом и добавляет новые бары. Можно ли иметь два независимых бара, которые корректно обновляются?
3 ответа
Эй, не уверен, что вы это исправили, но попробуйте использовать position
Параметр при инициализации баров:
pbar1 = tqdm(total=100, position=1)
pbar2 = tqdm(total=200, position=0)
положение: int, необязательно
Укажите смещение строки для печати этой полосы (начиная с 0) Автоматически, если не указано. Полезно для управления несколькими барами одновременно (например, из потоков).
Здесь у меня есть несколько примеров вложенного индикатора выполнения, примеры
tqdm
и некоторые проблемы, которые у меня есть в целом; из которого я выделяю следующий фрагмент кода, который дает два хороших вложенных индикатора выполнения .
def test48():
with tqdm.notebook.trange(3, position=0, desc='Outter') as outter_range:
for i in outter_range:
leave = i == len(outter_range) - 1
for _ in tqdm.notebook.trange(3, position=1, leave=leave, desc='Inner'):
sleep(.3)
Для всех, кто работает с Windows, см. Мой ответ в другой теме.
Краткая версия: установите colorama
пакет, как указано в известных проблемах tqdm:
pip install colorama