Часто возникает ситуация, когда при разработке консольных приложений, таких как приложения для загрузки или выгрузки файлов, требуется визуализировать процесс выполнения задачи. Это может быть полезно для предоставления обратной связи пользователю о том, как долго еще будет выполняться задача, а также для отслеживания прогресса выполнения задачи во время отладки.
Предположим, что есть задача загрузки большого файла с FTP-сервера. Было бы удобно иметь визуальное представление о том, сколько уже загружено и сколько осталось загрузить.
Однако, при этом хотелось бы избежать стирания всего текста, который был напечатан в консоли в предыдущих строках. То есть, не хотелось бы «очищать» всю консоль при печати обновленного прогресса.
Как это можно сделать?
В Python для создания текстового прогресс-бара можно использовать модуль tqdm
. Этот модуль предоставляет простой и удобный способ отображения прогресс-бара в консоли.
Пример использования:
from tqdm import tqdm import time for i in tqdm(range(100)): time.sleep(0.01) # имитация задержки
В этом примере tqdm(range(100))
создает итератор, который выводит прогресс-бар в консоли при каждой итерации цикла. Функция time.sleep(0.01)
используется для имитации задержки, чтобы можно было увидеть прогресс-бар в действии.
Как это работает?
Модуль tqdm
использует специальные символы для перемещения курсора влево, так что при каждой итерации он перезаписывает текущую строку, создавая эффект движения прогресс-бара. При этом все предыдущие строки остаются нетронутыми.
Таким образом, модуль tqdm
предоставляет простой и удобный способ добавления текстового прогресс-бара в консольное приложение на Python, не требуя при этом «очистки» всей консоли.
Добавить комментарий