Kad god preuzmete datoteku ili pokrenete igru, vidjet ćete estetsku animaciju koja se sama ažurira dok ne završi. Ovo je traka napretka. Traka napretka je grafički element koji se koristi za vizualizaciju napretka zadatka kao što je preuzimanje, učitavanje ili prijenos datoteka.
Postoje dvije vrste traka napretka: određene i neodređene. Određivanje traka napretka prati napredak zadatka tijekom vremena. Neodređene trake napretka rade beskonačno uz ponavljajuću animaciju.
Dakle, kako možete stvoriti određenu traku napretka u Python CLI programu?
Što je tqdm modul?
tqdm je modul koji primarno održava Casper da Costa-Luis zajedno s deset drugih članova. tqdm potječe od arapske riječi taqaddum koja može značiti "napredak", a skraćenica je za "jako te volim" na španjolskom (te quiero demasiado).
Pomoću modula tqdm možete napraviti atraktivnu, funkcionalnu traku napretka izravno u svom terminalu. Da biste instalirali tqdm modul, otvorite svoj terminal i pokrenite:
pip instalirati tqdm
Što je vremenski modul?
Pythonov standardni uslužni modul uključuje vremenski modul prema zadanim postavkama, tako da ga ne morate instalirati. Možete upotrijebiti funkciju mirovanja koja se nalazi u vremenskom modulu kako biste svojim aplikacijama dodali odgodu koja će pomoći u vizualizaciji napretka trake.
Možete koristiti vremenski modul za dobivanje datuma i vremena, raspored zadataka i izradu korisnih aplikacija poput jednostavna budilica, ili štopericu.
Kako dodati traku napretka i prilagoditi je
Zadana traka napretka jednostavna je za korištenje i možete je prilagoditi s nekoliko opcija.
1. Jednostavna traka napretka
Možete stvoriti jednostavnu traku napretka uvozom klase tqdm iz modula tqdm i funkcije spavanja iz modula vremena. Upotrijebite for petlju i ponovite tqdm na željenom rasponu.
Raspon može biti sve do 9e9 (devet milijardi). Proslijedite broj sekundi funkciji mirovanja da biste dodali odgodu kako biste mogli vizualizirati i vidjeti traku napretka na djelu.
Možete implementirati jednostavnu traku napretka poput ove:
iz tqdm uvoz tqdm
iz vrijeme uvoz spavati
za i u tqdm (raspon (100)):
spavati(.1)
Umjesto uvoza tqdm-a, možete uvesti trange iz tqdm modula da biste kombinirali tqdm i raspon i izravno proslijedili parametar.
iz tqdm uvoz neobično
iz vrijeme uvoz spavati
za mene u stranci (100):
spavati(.1)
Rezultat koji dobijete stvaranjem jednostavne trake napretka izgleda ovako:
Ovaj rezultat uključuje grafičke i tekstualne verzije napretka, zajedno sa statistikom vremena.
2. Traka napretka s tekstom opisa
Traci napretka možete dodati opisnu oznaku kako biste objasnili njegovu svrhu. Proslijedite tekst koji želite prikazati omotan dvostrukim navodnicima kao desc parametar:
za i u tqdm (raspon (0, 10), desc ="Napredak: "):
spavati(.4)
Rezultat koji dobijete dodavanjem teksta opisa uz traku napretka izgleda ovako:
3. Traka napretka s prilagođenom širinom
Prema zadanim postavkama, širina trake napretka postavljena je dinamički na veličinu izlaznog prozora. Možete ga prilagoditi svojim željama uz pomoć ncols parametar.
Možete implementirati traku napretka s prilagođenom širinom kao:
za i u tqdm (raspon (0, 10), ncoli = 100, desc ="Napredak: "):
spavati(.1)
Rezultat koji dobijete produljenjem širine trake napretka izgleda ovako:
4. Traka napretka pomoću boje
Možete prilagoditi boju trake napretka pomoću parametra boje. To možete učiniti na dva načina:
- Naziv boje: Možete koristiti naziv boje kao što je zelena, crna, cijan itd.
- Hex kod:Hex kod je format u koje računalo pohranjuje boju. Heksadecimalnu boju možete označiti s hashom (#) iza kojeg slijedi 6 heksadecimalnih znakova (0-9, a-f). Heksadecimalni kod #000000 predstavlja crnu dok #ffffff predstavlja bijelu. Mijenjanjem intenziteta ovih brojeva dobivate različite nijanse boja. Možete koristiti Alat za odabir boja iz Googlea za odabir i lijepljenje boje heksadecimalnog koda.
Možete implementirati traku napretka s prilagođenim bojama kao:
za i u tqdm (raspon (0, 100), boja="#00ffff", desc ="Napredak: "):
spavati(.1)
Rezultat koji dobivate promjenom boje trake napretka:
5. Traka napretka s minimalnim intervalom
Možete stvoriti traku napretka koja se ažurira s minimalnim intervalom umjesto zadane postavke. Možete proslijediti broj poput 1,5 ili 2 koji će služiti kao interval između dva ažuriranja. Zadana vrijednost minimalnog intervala je 0,1.
Možete implementirati traku napretka s minimalnim intervalom kao:
za i u tqdm (raspon (0, 100), miniinterval = 2, desc ="Napredak: "):
spavati(.1)
Izlaz koji dobivate određivanjem minimalnog intervala na traci napretka:
6. Traka napretka pomoću ASCII znakova
Možete stvoriti traku napretka koristeći ASCII znakove umjesto uobičajenih traka koje vidite na zaslonu. Za korištenje ASCII znakova postavite ascii parametar u željeni format.
Ako koristite nešto poput 12345*, svaki od stupaca raspona uzastopno ponavlja od jedan do zvjezdice. Iako je cool i prilagodljiv, pobrinite se da ga koristite u stvarnim aplikacijama.
Možete implementirati traku napretka koristeći ASCII znakove kao:
za i u tqdm (raspon (0, 100), ascii ="12345*"):
spavati(.1)
Ispis koji dobijete korištenjem ASCII znakova u traci napretka izgleda ovako:
7. Traka napretka pomoću navedene početne točke
Umjesto pokretanja trake napretka od nule, možete postaviti određenu početnu točku za traku napretka. Proslijedite početnu vrijednost kao što je 50 na početni parametar.
Traku napretka možete implementirati pomoću određene početne točke kao:
za i u tqdm (raspon (0, 100), početno = 50, desc ="Napredak: "):
spavati(.1)
Rezultat koji dobijete pokretanjem trake napretka na određenoj točki:
8. Traka napretka s određenim brojem ponavljanja
Možete stvoriti traku napretka koja pokreće određeni broj ponavljanja. Ako želite pokrenuti 500 ponavljanja od 50 000, proslijedite 500 kao raspon i 50 000 kao ukupni broj ponavljanja u ukupno parametar.
Traku napretka možete implementirati pomoću određenog broja ponavljanja kao:
za i u tqdm (raspon (0, 500), ukupno = 50000, desc ="Napredak: "):
spavati(.1)
Izlaz koji dobivate pomoću trake napretka s određenim brojem ponavljanja:
Primjene trake napretka
Vidjet ćete trake napretka u raznim situacijama, poput reprodukcije medija playera ili prikazivanja koraka putem online obrasca.
Iako traka napretka izgleda estetski, obavlja važan posao pružanja povratnih informacija korisniku u nedostatku kojih bi oni napustili web mjesto.