Iga kord, kui laadite faili alla või alustate mängu, näete esteetilist animatsiooni, mis värskendab end kuni lõpuni. See on edenemisriba. Edenemisriba on graafiline element, mida kasutatakse ülesande (nt failide allalaadimine, üleslaadimine või edastamine) edenemise visualiseerimiseks.

Edenemisribasid on kahte tüüpi: määratud ja määramata. Määratud edenemisribad jälgivad ülesande edenemist aja jooksul. Määramatud edenemisribad jooksevad lõpmatult koos silmusanimatsiooniga.

Niisiis, kuidas saate Pythoni CLI programmis luua kindla edenemisriba?

Mis on tqdm moodul?

tqdm on moodul, mida haldab peamiselt Casper da Costa-Luis koos kümne teise liikmega. tqdm tuleneb araabiakeelsest sõnast taqaddum, mis võib tähendada "edenemist" ja on lühend sõnadest "ma armastan sind nii palju" hispaania keeles (te quiero demasiado).

Mooduli tqdm abil saate luua atraktiivse ja funktsionaalse edenemisriba otse oma terminalis. Mooduli tqdm installimiseks avage terminal ja käivitage:

pip installida tqdm

Mis on aja moodul?

Pythoni standardne utiliidimoodul sisaldab aja moodul vaikimisi, nii et te ei pea seda installima. Saate kasutada ajamoodulis pakutavat unefunktsiooni, et lisada oma rakendustele viivitust, mis aitab riba edenemist visualiseerida.

Ajamoodulit saate kasutada kuupäeva ja kellaaja hankimiseks, ülesannete ajastamiseks ja kasulike rakenduste loomiseks, nagu a lihtne äratuskellvõi stopper.

Kuidas edenemisriba lisada ja seda kohandada

Vaikimisi edenemisriba on lihtne kasutada ja saate seda mitme valikuga kohandada.

1. Lihtne edenemisriba

Saate luua lihtsa edenemisriba, importides tqdm-klassi tqdm-moodulist ja unefunktsiooni ajamoodulist. Kasutage for tsüklit ja itereerige tqdm soovitud vahemikus.

Vahemik võib olla kuni 9e9 (üheksa miljardit). Viivituse lisamiseks edastage unefunktsioonile sekundite arv, et saaksite edenemisriba visualiseerida ja näha.

Saate rakendada sellise lihtsa edenemisriba:

alates tqdm importida tqdm
alates aega importida magama

i jaoks tqdm-s (vahemik (100)):
magama(.1)

Selle asemel, et importida tqdm, saate tqdm moodulist importida trange, et ühendada tqdm ja vahemik ning edastada parameeter otse.

alates tqdm importida kummaline
alates aega importida magama

minu jaoks kummaline (100):
magama(.1)

Lihtsa edenemisriba loomisel saadud väljund näeb välja järgmine:

See väljund sisaldab edenemise graafilisi ja tekstilisi versioone koos ajastatistikaga.

2. Edenemisriba koos kirjeldustekstiga

Saate lisada edenemisribale kirjeldava sildi, et selgitada selle eesmärki. Edastage tekst, mida soovite kuvada jutumärkidesse mässitud kujul desc parameeter:

i jaoks tqdm-s (vahemik (0, 10), desc ="Edusammud: "):
magama(.4)

Kirjeldusteksti ja edenemisriba lisamisel saadud väljund näeb välja järgmine:

3. Kohandatud laiusega edenemisriba

Vaikimisi on edenemisriba laius seatud dünaamiliseks vastavalt väljundakna suurusele. Saate seda vastavalt oma maitsele kohandada abiga ncols parameeter.

Saate rakendada kohandatud laiusega edenemisriba järgmiselt:

i jaoks tqdm-s (vahemik (0, 10), ncols = 100, kahanemine ="Edusammud: "):
magama(.1)

Edenemisriba laiuse pikendamisel saadud väljund näeb välja järgmine:

4. Värvi kasutamine edenemisriba

Saate kohandada edenemisriba värvi värviparameetri abil. Seda saate teha kahel viisil.

  1. Värvi nimi: Võite kasutada värvi nimetust, nagu roheline, must, tsüaan ja palju muud.
  2. Kuueteistkümnendkood:Kuueteistkümnendkood on vorming millesse arvuti värvi salvestab. Kuueteistkümnendsüsteemis (0-9, a-f) saate tähistada räsi (#), millele järgneb 6 tähemärki. Kuueteistkümnendkood #000000 tähistab musta, #ffffff aga valget. Nende numbrite intensiivsust muutes saate erinevaid värvitoone. Võite kasutada Google'i värvivalija tööriist Hex Code värvi valimiseks ja kleepimiseks.

Saate rakendada kohandatud värvidega edenemisriba järgmiselt:

i jaoks tqdm-s (vahemik (0, 100), color="#00ffff", desc ="Edusammud: "):
magama(.1)

Edenemisriba värvi muutmisel saadav väljund:

5. Minimaalse intervalliga edenemisriba

Saate luua edenemisriba, mis värskendab vaikeseadete asemel minimaalse intervalliga. Saate edastada numbri, näiteks 1,5 või 2, mis on kahe värskenduse vaheline intervall. Minimaalse intervalli vaikeväärtus on 0,1.

Saate rakendada edenemisriba minimaalse intervalliga järgmiselt:

i jaoks tqdm-s (vahemik (0, 100), minintervall = 2, kahanemine ="Edusammud: "):
magama(.1)

Väljund, mille saate, määrates edenemisribale minimaalse intervalli:

6. Edenemisriba, kasutades ASCII märke

Saate luua edenemisriba, kasutades ekraanil kuvatavate tavaliste ribade asemel ASCII-märke. ASCII-märkide kasutamiseks määrake ascii parameeter soovitud vormingusse.

Kui kasutate midagi sellist 12345*, itereerub vahemiku iga veerg järjestikku ühest tärnini. Kuigi see on lahe ja kohandatav, kasutage seda reaalsetes rakendustes kindlasti kasutajasõbralikult.

Edenemisriba saate rakendada ASCII-märkide abil järgmiselt:

i jaoks tqdm-s (vahemik (0, 100), ascii ="12345*"):
magama(.1)

Edenemisribal ASCII-märkide kasutamisega saadud väljund näeb välja järgmine:

7. Edenemisriba, kasutades määratud alguspunkti

Selle asemel, et alustada edenemisriba nullist, saate määrata edenemisribale konkreetse alguspunkti. Edastage algusväärtus, näiteks 50 esialgne parameeter.

Edenemisriba saate rakendada konkreetse alguspunkti abil järgmiselt:

i jaoks tqdm-s (vahemik (0, 100), esialgne = 50, kahanemine ="Edusammud: "):
magama(.1)

Väljund, mille saate edenemisriba käivitamisel määratud punktis:

8. Edenemisriba määratud arvu iteratsioonidega

Saate luua edenemisriba, mis käivitab teatud arvu iteratsioone. Kui soovite käitada 500 iteratsiooni 50 000-st, sisestage vahemikuks 500 ja iteratsioonide koguarvuks 50 000 kokku parameeter.

Edenemisriba saate rakendada teatud arvu iteratsioonide abil järgmiselt:

i jaoks tqdm-s (vahemik (0, 500), kokku = 50000, kahanemine ="Edusammud: "):
magama(.1)

Väljund, mille saate kindlaksmääratud arvu iteratsioonidega edenemisriba abil:

Edenemisriba rakendused

Näete edenemisribasid erinevates olukordades, nagu meediumipleieri taasesitus või sammude kuvamine veebivormi kaudu.

Kuigi edenemisriba näeb välja esteetiline, täidab see olulist ülesannet, pakkudes kasutajale tagasisidet, mille puudumisel nad veebisaidilt lahkuksid.