Создайте индикатор выполнения в Python CLI
Модернизируйте свои приложения командной строки с помощью красивых индикаторов выполнения.
Всякий раз, когда вы загружаете файл или запускаете игру, вы видите эстетичную анимацию, которая обновляется до завершения. Это индикатор прогресса. Индикатор выполнения — это графический элемент, используемый для визуализации хода выполнения задачи, например загрузки, выгрузки или передачи файлов.
Существует два типа индикаторов выполнения: определённые и неопределённые. Определенные индикаторы выполнения отслеживают ход выполнения задачи с течением времени. Неопределенные индикаторы выполнения работают бесконечно с зацикленной анимацией.
Итак, как создать определенный индикатор выполнения в программе Python CLI?
Что такое модуль tqdm?
tqdm — это модуль, который в основном поддерживается Каспером да Коста-Луисом вместе с десятью другими участниками. tqdm происходит от арабского слова taqaddum, которое может означать «прогресс» и является аббревиатурой испанской фразы «Я так сильно тебя люблю» (te quiero demasiado).
Используя модуль tqdm, вы можете создать привлекательный и функциональный индикатор выполнения прямо в своем терминале. Чтобы установить модуль tqdm, откройте терминал и запустите:
pip install tqdm
Что такое модуль времени?
Стандартный служебный модуль Python по умолчанию включает модуль времени, поэтому вам не нужно его устанавливать. Вы можете использовать функцию сна, представленную в модуле времени, чтобы добавить задержку в ваши приложения, что поможет визуализировать прогресс шкалы.
Вы можете использовать модуль времени, чтобы получать дату и время, планировать задачи и создавать полезные приложения, такие как простой будильник или секундомер.
Как добавить индикатор выполнения и настроить его
Индикатор выполнения по умолчанию прост в использовании, и вы можете настроить его с помощью нескольких параметров.
1. Простой индикатор выполнения
Вы можете создать простой индикатор выполнения, импортировав класс tqdm из модуля tqdm и функцию сна из модуля времени. Используйте цикл for и выполните итерацию tqdm в нужном диапазоне.
Диапазон может быть любым, вплоть до 9e9 (девять миллиардов). Передайте количество секунд функции сна, чтобы добавить задержку, чтобы вы могли визуализировать и увидеть индикатор выполнения в действии.
Вы можете реализовать простой индикатор выполнения следующим образом:
from tqdm import tqdm
from time import sleep
for i in tqdm(range(100)):
sleep(.1)
Вместо импорта tqdm вы можете импортировать trange из модуля tqdm, чтобы объединить tqdm и range и передать параметр напрямую.
from tqdm import trange
from time import sleep
for i in trange(100):
sleep(.1)
Результат, который вы получаете при создании простого индикатора выполнения, выглядит следующим образом:
Эти выходные данные включают графические и текстовые версии хода выполнения, а также статистику времени.
2. Индикатор выполнения с текстом описания
Вы можете добавить описательную метку к индикатору выполнения, чтобы объяснить его назначение. Передайте текст, который вы хотите отобразить, заключенный в двойные кавычки, в качестве параметра desc :
for i in tqdm(range(0, 10), desc ="Progress: "):
sleep(.4)
Результат, который вы получаете при добавлении текста описания вместе с индикатором выполнения, выглядит следующим образом:
3. Индикатор выполнения с индивидуальной шириной
По умолчанию ширина индикатора выполнения динамически устанавливается в соответствии с размером окна вывода. Вы можете настроить его по своему вкусу с помощью параметра ncols.
Вы можете реализовать индикатор выполнения с настраиваемой шириной следующим образом:
for i in tqdm(range(0, 10), ncols = 100, desc ="Progress: "):
sleep(.1)
Результат, который вы получаете при увеличении ширины индикатора выполнения, выглядит следующим образом:
4. Индикатор выполнения с использованием цвета
Вы можете настроить цвет индикатора выполнения, используя параметр цвета. Вы можете сделать это двумя способами:
- Название цвета. Вы можете использовать название цвета, например зеленый, черный, голубой и т. д.
- Шестнадцатеричный код. Шестнадцатеричный код – это формат, в котором компьютер сохраняет цвет. Вы можете обозначить шестнадцатеричный цвет с помощью решетки (#), за которой следуют 6 шестнадцатеричных символов (0–9, a–f). Шестнадцатеричный код #000000 представляет черный цвет, а #ffffff — белый. Варьируя интенсивность этих цифр, вы получаете разные оттенки цветов. Вы можете использовать инструмент «Палитра цветов» от Google, чтобы выбрать и вставить цвет шестнадцатеричного кода.
Вы можете реализовать индикатор выполнения с настраиваемыми цветами следующим образом:
for i in tqdm(range(0, 100), colour="#00ffff", desc ="Progress: "):
sleep(.1)
Результат, который вы получаете при изменении цвета индикатора выполнения:
5. Индикатор выполнения с минимальным интервалом
Вы можете создать индикатор выполнения, который будет обновляться с минимальным интервалом вместо настройки по умолчанию. Вы можете передать число, например 1,5 или 2, которое будет служить интервалом между двумя обновлениями. Значение минимального интервала по умолчанию — 0,1.
Вы можете реализовать индикатор выполнения с минимальным интервалом следующим образом:
for i in tqdm(range(0, 100), mininterval = 2, desc ="Progress: "):
sleep(.1)
Результат, который вы получаете, указав минимальный интервал для индикатора выполнения:
6. Индикатор выполнения с использованием символов ASCII
Вы можете создать индикатор выполнения, используя символы ASCII вместо обычных полос, которые вы видите на экране. Чтобы использовать символы ASCII, установите для параметра ascii нужный формат.
Если вы используете что-то вроде 12345*, каждый столбец диапазона последовательно изменяется от единицы до звездочки. Несмотря на то, что это круто и настраиваемо, убедитесь, что вы используете его удобно для пользователя при использовании в реальных приложениях.
Вы можете реализовать индикатор выполнения, используя символы ASCII, как:
for i in tqdm(range(0, 100), ascii ="12345*"):
sleep(.1)
Вывод, который вы получаете, используя символы ASCII в индикаторе выполнения, выглядит следующим образом:
7. Индикатор выполнения с использованием указанной начальной точки
Вместо того, чтобы начинать индикатор выполнения с нуля, вы можете установить определенную начальную точку для индикатора выполнения. Передайте начальное значение, например 50, в параметр начальный .
Вы можете реализовать индикатор выполнения, используя определенную начальную точку, как:
for i in tqdm(range(0, 100), initial = 50, desc ="Progress: "):
sleep(.1)
Результат, который вы получаете при запуске индикатора выполнения в указанной точке:
8. Индикатор выполнения с указанным количеством итераций.
Вы можете создать индикатор выполнения, который выполняет определенное количество итераций. Если вы хотите выполнить 500 итераций из 50 000, передайте 500 в качестве диапазона и 50 000 в качестве общего количества итераций в параметр total.
Вы можете реализовать индикатор выполнения, используя определенное количество итераций, как:
for i in tqdm(range(0, 500), total = 50000, desc ="Progress: "):
sleep(.1)
Результат, который вы получаете, используя индикатор выполнения с указанным количеством итераций:
Применение индикатора выполнения
Вы увидите индикаторы выполнения в различных ситуациях, например при воспроизведении медиаплеера или отображении шагов через онлайн-форму.
Хотя индикатор выполнения выглядит эстетично, он выполняет важную функцию, предоставляя пользователю обратную связь, без которой он покинет веб-сайт.