Кухня Python 3: "ProgressBar своими руками"

27 August 2019

Как же в наше время без прогресса загрузки? Ведь, он очень удобен при обработке больших кусков кода. Не так ли? Сегодня мы и попробуем сделать простой и незамысловатый прогрессбар.

Ингредиенты:

Python 3

Библиотека time для наглядности

PyCharm по вкусу

Приготовление:

1. Для небольшой задержки выполнения нашего кода и наглядности, предлагаю подключить библиотеку time, которая будет "притормаживать" выполнение нашей функции. Конечно, она не пригодится, когда вычисления будут занимать много времени.

import time

2. Добавьте значения для переменной progress(переменная прогресса) и percent(100% разделить на количество элементов, возьмем к примеру 335)

percent = 100/335
progress = 0

3. Добавьте цикл от 0 до 335(количество наших элементов)

for buf in range(335):

4. Вложите в него увеличение переменной progress на percent

progress += percent

5. Теперь вложите вывод print нашего прогрессбара

print('\rОбработка файлов завершена на %3d%%' % progress, end = '', flush = True)

Пояснение:

\r и %3d%% - формат вывода.

end = '' - ставим после всех объектов

flush = True - очищаем буфер

6. И, наконец, вложите в цикл задержку времени

time.sleep(0.01)

7. В итоге у вас должно получиться

Готовое блюдо:

percent = 100/335
progress = 0
for buf in range(335):
____progress += percent
____print('\rОбработка файлов завершена на %3d%%' % progress, end = '', flush = True)
____time.sleep(0.01)

Сегодня ты делаешь код, завтра код делает тебе деньги
(с) Стив Джобс