Всеки път, когато изтеглите файл или стартирате игра, виждате естетична анимация, която се актуализира, докато не бъде завършена. Това е лента за напредък. Лентата за напредъка е графичен елемент, използван за визуализиране на напредъка на задача като изтегляне, качване или прехвърляне на файлове.

Има два вида ленти за напредък: определени и неопределени. Индикаторите за определяне на напредъка проследяват напредъка на дадена задача във времето. Неопределените ленти за напредък се движат безкрайно с повтаряща се анимация.

И така, как можете да създадете определена лента за напредък в CLI програма на Python?

Какво представлява модулът tqdm?

tqdm е модул, основно поддържан от Casper da Costa-Luis заедно с десет други членове. tqdm произлиза от арабската дума taqaddum, която може да означава „напредък“ и е съкращение за „обичам те толкова много“ на испански (te quiero demasiado).

С помощта на модула tqdm можете да направите атрактивна, функционална лента за напредък направо във вашия терминал. За да инсталирате модула tqdm, отворете вашия терминал и стартирайте:

instagram viewer
пип Инсталирай tqdm

Какво представлява модулът за време?

Стандартният помощен модул на Python включва модула за време по подразбиране, така че не е нужно да го инсталирате. Можете да използвате функцията за заспиване, предоставена в модула за време, за да добавите забавяне към вашите приложения, което ще ви помогне да визуализирате напредъка на лентата.

Можете да използвате часовия модул, за да получите дата и час, да планирате задачи и да създадете полезни приложения като a прост будилник, или хронометър.

Как да добавите лента за напредък и да я персонализирате

Лентата за прогрес по подразбиране е лесна за използване и можете да я персонализирате с няколко опции.

1. Проста лента за напредък

Можете да създадете проста лента за напредъка, като импортирате класа tqdm от модула tqdm и функцията за заспиване от модула за време. Използвайте for цикъл и итерирайте tqdm в желания диапазон.

Диапазонът може да бъде всичко до 9e9 (девет милиарда). Предайте броя секунди на функцията за заспиване, за да добавите забавяне, така че да можете да визуализирате и видите лентата за напредъка в действие.

Можете да приложите проста лента за напредък като тази:

от tqdm импортиране tqdm
от време импортиране сън

за i в tqdm (диапазон (100)):
сън(.1)

Вместо да импортирате tqdm, можете да импортирате trange от модула tqdm, за да комбинирате tqdm и диапазон и да предадете параметъра директно.

от tqdm импортиране странно
от време импортиране сън

за мен в странност (100):
сън(.1)

Резултатът, който получавате при създаването на проста лента за напредък, изглежда така:

Този резултат включва графични и текстови версии на напредъка, заедно със статистика за времето.

2. Лента за напредъка с описателен текст

Можете да добавите описателен етикет към лентата за напредъка, за да обясните целта му. Предайте текста, който искате да покажете, увит в двойни кавички като дес параметър:

за i в tqdm (диапазон (0, 10), desc ="Напредък: "):
сън(.4)

Резултатът, който получавате при добавяне на описателен текст заедно с лентата за напредък, изглежда така:

3. Лента за напредъка с персонализирана ширина

По подразбиране ширината на лентата за напредъка е зададена динамично спрямо размера на изходния прозорец. Можете да го персонализирате според вашите предпочитания с помощта на ncols параметър.

Можете да внедрите лента за напредък с персонализирана ширина като:

за i в tqdm (диапазон (0, 10), ncols = 100, desc ="Напредък: "):
сън(.1)

Резултатът, който получавате при удължаване на ширината на лентата за напредък, изглежда така:

4. Лента за напредък с използване на цвят

Можете да персонализирате цвета на лентата за напредък, като използвате параметъра цвят. Можете да направите това по два начина:

  1. Име на цвета: Можете да използвате името на цвета като зелено, черно, циан и др.
  2. Шестнадесетичен код:Шестнадесетичният код е формат в който компютърът съхранява цвета. Можете да означите шестнадесетичен цвят с хеш (#), последван от 6 знака в шестнадесетичен (0-9, a-f). Шестнадесетичният код #000000 представлява черно, докато #ffffff представлява бяло. Като променяте интензивността на тези числа, получавате различни нюанси на цветовете. Можете да използвате Инструмент за избор на цвят от Google за да изберете и поставите цвета на шестнадесетичния код.

Можете да внедрите лента за напредък с персонализирани цветове като:

за i в tqdm (диапазон (0, 100), цвят="#00ffff", desc ="Напредък: "):
сън(.1)

Резултатът, който получавате при промяна на цвета на лентата за напредък:

5. Лента за напредък с минимален интервал

Можете да създадете лента за напредъка, която се актуализира с минимален интервал вместо настройката по подразбиране. Можете да подадете число като 1,5 или 2, което ще служи като интервал между две актуализации. Стойността по подразбиране на минималния интервал е 0,1.

Можете да внедрите лента за напредък с минимален интервал като:

за i в tqdm (диапазон (0, 100), миниинтервал = 2, desc ="Напредък: "):
сън(.1)

Резултатът, който получавате, като посочите минимален интервал към лентата за напредък:

6. Лента за напредък, използваща ASCII символи

Можете да създадете лента за напредък, като използвате ASCII символи вместо обичайните ленти, които виждате на екрана. За да използвате ASCII символи, задайте ascii параметър в желания формат.

Ако използвате нещо подобно 12345*, всяка от колоните на диапазона се повтаря последователно от една до звездичка. Въпреки че е страхотен и персонализиран, не забравяйте да използвате лесен за използване, когато го използвате в реални приложения.

Можете да внедрите лента за напредъка, като използвате ASCII знаци като:

за i в tqdm (диапазон (0, 100), ascii ="12345*"):
сън(.1)

Резултатът, който получавате, като използвате ASCII знаци в лентата за напредък, изглежда така:

7. Лента за напредък, използваща определена начална точка

Вместо да стартирате лентата за напредък от нула, можете да зададете конкретна начална точка за лентата за напредък. Предайте начална стойност като 50 към начален параметър.

Можете да внедрите лента за напредъка, като използвате конкретна начална точка като:

за i в tqdm (диапазон (0, 100), първоначално = 50, desc ="Напредък: "):
сън(.1)

Резултатът, който получавате при стартиране на лентата за напредък в определена точка:

8. Лента за напредък с определен брой повторения

Можете да създадете лента за напредъка, която изпълнява определен брой итерации. Ако искате да изпълните 500 итерации от 50 000, подайте 500 като диапазон и 50 000 като общ брой итерации на обща сума параметър.

Можете да внедрите лента за напредъка, като използвате определен брой повторения като:

за i в tqdm (диапазон (0, 500), общо = 50000, desc ="Напредък: "):
сън(.1)

Резултатът, който получавате с помощта на лента за напредък с определен брой повторения:

Приложения на лентата на напредъка

Ще видите ленти за напредъка в различни ситуации, като възпроизвеждане на медиен плейър или показване на стъпките чрез онлайн формуляр.

Въпреки че лентата за напредъка изглежда естетична, тя върши важна работа за предоставяне на обратна връзка на потребителя, в отсъствието на която той би напуснал уебсайта.