Код с модулем progress не работает

Установил через pip; стандартный код из примера не работает из-за from progress.bar

from progress.bar import Bar

bar = Bar('Processing', max=20)
for i in range(20):
    # Do some work
    bar.next()
bar.finish()

Ответы (1 шт):

Автор решения: MarianD

Немножко измените ваш код, например так:

import time
from progress.bar import Bar

with Bar('Processing', max=20) as bar:
    for i in range(20):
        time.sleep(.2)    # Do some work
        bar.next()

и он будет работать:

введите сюда описание изображения


Объяснение:

В вашем примере нет кода для какой-то длинной работы, только комментарий

    # Do some work

(по-русски «делай какую-то работу»).

Таким образом весь цикл for (т.е. его 20 итераций) выполнится мгновенно, через несколько микросекунд, а вы не увидите никакого постепенного прогресса работы.

Я симулировал длинную работу задержкой 0.2 секунды (200 миллисекунд) применением функции sleep(.2) («спи 0.2 секунд») из стандартного модуля time.

→ Ссылка