Izveidojiet progresa joslu Python CLI

Izveidojiet progresa joslu Python CLI

Ikreiz, kad lejupielādējat failu vai sākat spēli, tiek parādīta estētiska animācija, kas tiek atjaunināta, līdz tiek pabeigta. Šī ir progresa josla. Progresa josla ir grafisks elements, ko izmanto, lai vizualizētu tāda uzdevuma norisi kā failu lejupielāde, augšupielāde vai pārsūtīšana.





Ir divu veidu progresa joslas: noteiktas un nenoteiktas. Noteiktas progresa joslas izseko uzdevuma norisi laika gaitā. Nenoteiktas progresa joslas darbojas bezgalīgi ar cilpu animāciju.





DIENAS VIDEO MAKEUSEOF

Tātad, kā Python CLI programmā varat izveidot noteiktu progresa joslu?





Kas ir tqdm modulis?

tqdm ir modulis, kuru galvenokārt uztur Casper da Costa-Luis kopā ar desmit citiem dalībniekiem. tqdm cēlies no arābu vārda taqaddum, kas var nozīmēt 'progress', un ir saīsinājums no 'es tevi tik ļoti mīlu' spāņu valodā (te quiero demasiado).

Izmantojot tqdm moduli, jūs varat izveidot pievilcīgu, funkcionālu progresa joslu tieši savā terminālī. Lai instalētu tqdm moduli, atveriet savu termināli un palaidiet:



pip install tqdm

Kas ir laika modulis?

Python standarta utilīta modulis ietver laika modulis pēc noklusējuma, tāpēc jums tas nav jāinstalē. Varat izmantot laika modulī paredzēto miega funkciju, lai pievienotu lietojumprogrammām aizkavi, kas palīdzēs vizualizēt joslas gaitu.

Varat izmantot laika moduli, lai iegūtu datumu un laiku, ieplānotu uzdevumus un izveidotu noderīgas lietojumprogrammas, piemēram, a vienkāršs modinātājs vai hronometru.





Kā pievienot progresa joslu un pielāgot to

Noklusējuma norises josla ir viegli lietojama, un to var pielāgot, izmantojot vairākas opcijas.

1. Vienkārša norises josla

Varat izveidot vienkāršu norises joslu, importējot tqdm klasi no tqdm moduļa un miega funkciju no laika moduļa. Izmantojiet for cilpu un atkārtojiet tqdm vēlamajā diapazonā.





Diapazons var būt jebkas līdz 9e9 (deviņiem miljardiem). Nododiet sekunžu skaitu miega funkcijai, lai pievienotu aizkavi, lai jūs varētu vizualizēt un redzēt norises joslu darbībā.

Varat ieviest vienkāršu progresa joslu, piemēram:

from tqdm import tqdm 
from time import sleep

for i in tqdm(range(100)):
sleep(.1)

Tā vietā, lai importētu tqdm, varat importēt trange no tqdm moduļa, lai apvienotu tqdm un diapazonu un tieši nodotu parametru.

from tqdm import trange 
from time import sleep

for i in trange(100):
sleep(.1)

Izvade, ko iegūstat, izveidojot vienkāršu progresa joslu, izskatās šādi:

  Vienkārša progresa josla

Šī izvade ietver progresa grafiskās un teksta versijas, kā arī laika statistiku.

2. Progresa josla ar apraksta tekstu

Lai izskaidrotu tās mērķi, progresa joslai varat pievienot aprakstošu etiķeti. Nosūtiet tekstu, kuru vēlaties parādīt, ietītu pēdiņās kā desc parametrs:

kā youtube pievienot sociālo mediju saites
for i in tqdm(range(0, 10), desc ="Progress: "): 
sleep(.4)

Izvade, ko iegūstat, pievienojot apraksta tekstu kopā ar progresa joslu, izskatās šādi:

  Progresa josla ar tekstu

3. Progresa josla ar pielāgotu platumu

Pēc noklusējuma progresa joslas platums ir iestatīts kā dinamisks atbilstoši izvades loga lielumam. Varat to pielāgot atbilstoši savām vēlmēm, izmantojot ncols parametrs.

Varat ieviest progresa joslu ar pielāgotu platumu, kā:

for i in tqdm(range(0, 10), ncols = 100, desc ="Progress: "): 
sleep(.1)

Izvade, ko iegūstat, pagarinot progresa joslas platumu, izskatās šādi:

  Progresa josla ar aprakstu un ncols

4. Progresa josla, izmantojot krāsu

Varat pielāgot progresa joslas krāsu, izmantojot krāsu parametru. To var izdarīt divos veidos:

  1. Krāsas nosaukums: Varat izmantot krāsas nosaukumu, piemēram, zaļa, melna, ciāna un citas.
  2. Hex kods: Hex kods ir formāts kurā dators saglabā krāsu. Hex krāsu var apzīmēt ar jaucējzīmi (#), kam seko 6 rakstzīmes heksadecimālā (0–9, a–f). Hex kods #000000 apzīmē melnu, bet #ffffff apzīmē baltu. Mainot šo skaitļu intensitāti, jūs iegūstat dažādus krāsu toņus. Jūs varat izmantot Krāsu atlasītāja rīks no Google lai atlasītu un ielīmētu Hex Code krāsu.

Varat ieviest progresa joslu ar pielāgotām krāsām, kā:

for i in tqdm(range(0, 100), colour="#00ffff", desc ="Progress: "): 
sleep(.1)

Izvade, ko iegūstat, mainot progresa joslas krāsu:

  Progresa josla ar krāsu

5. Progresa josla ar minimālo intervālu

Varat izveidot progresa joslu, kas tiek atjaunināta ar minimālu intervālu, nevis noklusējuma iestatījumu. Varat nodot skaitli, piemēram, 1,5 vai 2, kas kalpos kā intervāls starp diviem atjauninājumiem. Minimālā intervāla noklusējuma vērtība ir 0,1.

Varat ieviest progresa joslu ar minimālu intervālu, kā:

for i in tqdm(range(0, 100), mininterval = 2, desc ="Progress: "): 
sleep(.1)

Izvade, ko iegūstat, norādot minimālo intervālu līdz progresa joslai:

  Progresa josla ar minimālu intervālu

6. Progresa josla, izmantojot ASCII rakstzīmes

Varat izveidot norises joslu, izmantojot ASCII rakstzīmes, nevis parastās joslas, kuras redzat ekrānā. Lai izmantotu ASCII rakstzīmes, iestatiet ascii parametru vajadzīgajā formātā.

Ja lieto kaut ko līdzīgu 12345* , katra diapazona kolonna atkārtojas no vienas līdz zvaigznītei secīgi. Lai gan tas ir foršs un pielāgojams, noteikti izmantojiet to lietotājam draudzīgu, izmantojot to reālās lietojumprogrammās.

Varat ieviest progresa joslu, izmantojot ASCII rakstzīmes kā:

for i in tqdm(range(0, 100), ascii ="12345*"): 
sleep(.1)

Izvade, ko iegūstat, progresa joslā izmantojot ASCII rakstzīmes, izskatās šādi:

  Norises josla ar ASCII rakstzīmēm

7. Progresa josla, izmantojot norādīto sākuma punktu

Tā vietā, lai sāktu progresa joslu no nulles, varat iestatīt konkrētu progresa joslas sākuma punktu. Nododiet sākuma vērtību, piemēram, 50, uz sākotnējā parametrs.

Varat ieviest progresa joslu, izmantojot noteiktu sākuma punktu, kā:

for i in tqdm(range(0, 100), initial = 50, desc ="Progress: "): 
sleep(.1)

Izvade, ko iegūstat, palaižot progresa joslu noteiktā punktā:

  Progresa josla ar sākotnējo parametru

8. Progresa josla ar noteiktu atkārtojumu skaitu

Varat izveidot norises joslu, kas izpilda noteiktu iterāciju skaitu. Ja vēlaties palaist 500 iterācijas no 50 000, norādiet 500 kā diapazonu un 50 000 kā kopējo iterāciju skaitu. Kopā parametrs.

Varat ieviest progresa joslu, izmantojot noteiktu iterāciju skaitu, kā:

for i in tqdm(range(0, 500), total = 50000, desc ="Progress: "): 
sleep(.1)

Izvade, ko iegūstat, izmantojot progresa joslu ar noteiktu iterāciju skaitu:

  Progresa josla ar norādītu atkārtojumu skaitu

Progresa joslas lietojumprogrammas

Jūs redzēsiet norises joslas dažādās situācijās, piemēram, atskaņojot multivides atskaņotāju vai rādot darbības, izmantojot tiešsaistes veidlapu.

Lai gan progresa josla izskatās estētiski, tā veic svarīgu darbu, sniedzot lietotājam atgriezenisko saiti, kuras trūkuma gadījumā viņi pamestu vietni.