07 Июл 2023
2 мин
1468

Работа с Progress Bar в Python

В процессе работы над различными проектами на Python иногда возникает необходимость отслеживания прогресса выполнения тяжеловесных и длительных операций.

Содержание

В процессе работы над различными проектами на Python иногда возникает необходимость отслеживания прогресса выполнения тяжеловесных и длительных операций. Это может быть полезно, например, при загрузке больших файлов или выполнении сложных вычислений. В таких случаях удобно использовать индикаторы прогресса, или так называемые «progress bar».

Пример использования

Рассмотрим простой пример, в котором функция выполняет некую длительную операцию и возвращает True, когда она выполнена. Во время ее выполнения хотелось бы видеть наглядный индикатор прогресса.

def long_function():
    for i in range(100):
        time.sleep(0.1)  # Эмулируем долгую операцию
    return True

Библиотека tqdm

Для решения этой задачи в Python есть удобная библиотека tqdm, которая позволяет легко и быстро создавать индикаторы прогресса. Основная идея заключается в том, что tqdm оборачивает итерабельный объект и автоматически обновляет индикатор прогресса в процессе итерации.

Воспользуемся этой библиотекой в нашем примере.

from tqdm import tqdm
import time

def long_function():
    for i in tqdm(range(100)):
        time.sleep(0.1)  # Эмулируем долгую операцию
    return True

Теперь при вызове функции long_function() на экране будет отображаться строка, показывающая ход выполнения операции.

Многопоточность

Более сложные сценарии, такие как вывод индикатора прогресса для функций, которые не являются итерабельными, или для функций, выполняющих асинхронные операции, требуют использования многопоточности или многопроцессности. Это может потребовать более глубоких знаний Python, и в данной статье не рассматривается.

Итог

Использование индикаторов прогресса с помощью библиотеки tqdm — это простой и эффективный способ отслеживания прогресса длительных операций в Python. Это помогает лучше понять, как протекает выполнение программы, и позволяет пользователю видеть, что процесс не завис, а активно выполняется.

Содержание

Добавить комментарий

Определи профессию по рисунку