Вложенные tqdm выводит на новую строку - PullRequest
0 голосов
/ 28 января 2019

Когда я пытаюсь использовать tqdm для вложенных циклов, циклы обновляются до новых строк.Индикатор выполнения работал нормально всего за один цикл.Я использую Python 3.6.5.Это проблема с совместимостью версий Python?Если в настоящее время это невозможно в tqdm, как бы я это сделал с помощью другого модуля?

Я пытался использовать модуль ProgressBar, но у него возникла та же проблема.

from tqdm import tqdm
from time import sleep
for i in tqdm(range(20), desc = 'sleeping'):
     for j in tqdm(range(15), desc = 'inside', leave = False):
        sleep(.1)

Этото, что я получаю как вывод:

sleeping:   0%|                                                                                 | 0/20 [00:00<?, ?it/s]
inside:   0%|                                                                                   | 0/15 [00:00<?, ?it/s]
inside:   7%|█████                                                                      | 1/15 [00:00<00:01,  9.94it/s]
inside:  13%|██████████                                                                 | 2/15 [00:00<00:01,  9.94it/s]
inside:  20%|███████████████                                                            | 3/15 [00:00<00:01,  9.91it/s]
inside:  27%|████████████████████                                                       | 4/15 [00:00<00:01,  9.88it/s]
inside:  33%|█████████████████████████                                                  | 5/15 [00:00<00:01,  9.86it/s]
inside:  40%|██████████████████████████████                                             | 6/15 [00:00<00:00,  9.84it/s]
inside:  47%|███████████████████████████████████                                        | 7/15 [00:00<00:00,  9.86it/s]
inside:  53%|████████████████████████████████████████                                   | 8/15 [00:00<00:00,  9.87it/s]
inside:  60%|█████████████████████████████████████████████                              | 9/15 [00:00<00:00,  9.88it/s]
inside:  67%|█████████████████████████████████████████████████▎                        | 10/15 [00:01<00:00,  9.88it/s]
inside:  73%|██████████████████████████████████████████████████████▎                   | 11/15 [00:01<00:00,  9.87it/s]
inside:  80%|███████████████████████████████████████████████████████████▏              | 12/15 [00:01<00:00,  9.86it/s]
inside:  87%|████████████████████████████████████████████████████████████████▏         | 13/15 [00:01<00:00,  9.85it/s]
inside:  93%|█████████████████████████████████████████████████████████████████████     | 14/15 [00:01<00:00,  9.86it/s]
inside: 100%|██████████████████████████████████████████████████████████████████████████| 15/15 [00:01<00:00,  9.84it/s]
sleeping:   5%|███▋                                                                     | 1/20 [00:01<00:28,  1.52s/it]

Я ожидал, что это даст только 2 индикатора выполнения.

1 Ответ

0 голосов
/ 31 января 2019

Поскольку терминал Windows не допускает последовательности escape-символов ANSI, для установки вложенного tqdm в Windows необходимо установить другой модуль.Установка colorama решила эту проблему для меня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...