Hver gang du laster ned en fil eller starter et spill, ser du en estetisk animasjon som oppdaterer seg selv til den er fullført. Dette er en fremdriftslinje. En fremdriftslinje er et grafisk element som brukes til å visualisere fremdriften til en oppgave, for eksempel nedlasting, opplasting eller overføring av filer.

Det finnes to typer fremdriftslinjer: bestemt og ubestemt. Bestem fremdriftslinjer sporer fremdriften til en oppgave over tid. Ubestemte fremdriftslinjer kjøres i det uendelige med en looping-animasjon.

Så hvordan kan du lage en bestemt fremdriftslinje i et Python CLI-program?

Hva er tqdm-modulen?

tqdm er en modul som hovedsakelig vedlikeholdes av Casper da Costa-Luis sammen med ti andre medlemmer. tqdm stammer fra det arabiske ordet taqaddum som kan bety «fremgang», og er en forkortelse for «jeg elsker deg så mye» på spansk (te quiero demasiado).

Ved å bruke tqdm-modulen kan du lage en attraktiv, funksjonell fremdriftslinje rett i terminalen din. For å installere tqdm-modulen, åpne terminalen og kjør:

instagram viewer
pip installere tqdm

Hva er tidsmodulen?

Pythons standard verktøymodul inkluderer tidsmodulen som standard, så du trenger ikke å installere den. Du kan bruke dvalefunksjonen i tidsmodulen for å legge til forsinkelser i applikasjonene dine, noe som vil hjelpe deg med å visualisere fremdriften til linjen.

Du kan bruke tidsmodulen til å få dato og klokkeslett, planlegge oppgaver og bygge nyttige applikasjoner som en enkel vekkerklokke, eller en stoppeklokke.

Hvordan legge til en fremdriftslinje og tilpasse den

Standard fremdriftslinje er enkel å bruke, og du kan tilpasse den med flere alternativer.

1. Enkel fremdriftslinje

Du kan lage en enkel fremdriftslinje ved å importere tqdm-klassen fra tqdm-modulen og dvalefunksjonen fra tidsmodulen. Bruk en for loop og iterer tqdm på ønsket rekkevidde.

Rekkevidden kan være alt opp til 9e9 (ni milliarder). Gi antall sekunder til dvalefunksjonen for å legge til en forsinkelse slik at du kan visualisere og se fremdriftslinjen i aksjon.

Du kan implementere en enkel fremdriftslinje slik:

fra tqdm import tqdm
fra tid import sove

for i i tqdm (område (100)):
sove(.1)

I stedet for å importere tqdm, kan du importere trange fra tqdm-modulen for å kombinere tqdm og range og sende parameteren direkte.

fra tqdm import merkelig
fra tid import sove

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

Utdataene du får når du oppretter en enkel fremdriftslinje ser slik ut:

Denne utgangen inkluderer grafiske og tekstlige versjoner av fremdriften, sammen med tidsstatistikk.

2. Fremdriftslinje med beskrivelsestekst

Du kan legge til en beskrivende etikett på fremdriftslinjen for å forklare formålet. Send teksten du vil vise innpakket i anførselstegn som desc parameter:

for i i tqdm (område (0, 10), desc ="Framgang: "):
sove(.4)

Utdataene du får når du legger til en beskrivelsestekst sammen med fremdriftslinjen ser slik ut:

3. Fremdriftslinje med tilpasset bredde

Som standard er bredden på fremdriftslinjen satt dynamisk til størrelsen på utdatavinduet. Du kan tilpasse den etter din smak ved hjelp av ncols parameter.

Du kan implementere en fremdriftslinje med tilpasset bredde som:

for i i tqdm (område (0, 10), ncols = 100, desc ="Framgang: "):
sove(.1)

Utgangen du får ved å forlenge bredden på fremdriftslinjen ser slik ut:

4. Fremdriftslinje ved hjelp av farge

Du kan tilpasse fargen på fremdriftslinjen ved å bruke fargeparameteren. Du kan gjøre dette på to måter:

  1. Fargenavn: Du kan bruke navnet på fargen som grønn, svart, cyan og mer.
  2. Hex-kode:Hex-kode er et format der datamaskinen lagrer fargen. Du kan angi heksadesimalfarge med en hash (#) etterfulgt av 6 tegn i heksadesimal (0-9, a-f). Hex-koden #000000 representerer svart mens #ffffff representerer hvit. Ved å variere intensiteten til disse tallene får du forskjellige nyanser av farger. Du kan bruke Fargevelgerverktøy fra Google for å velge og lime inn Hex Code-fargen.

Du kan implementere en fremdriftslinje med tilpassede farger som:

for i i tqdm (område (0, 100), farge="#00ffff", desc ="Framgang: "):
sove(.1)

Utdataene du får ved å endre fargen på fremdriftslinjen:

5. Fremdriftslinje med minimumsintervall

Du kan opprette en fremdriftslinje som oppdateres med et minimumsintervall i stedet for standardinnstillingen. Du kan sende et tall som 1,5 eller 2 som vil fungere som intervallet mellom to oppdateringer. Standardverdien for minimumsintervallet er 0,1.

Du kan implementere en fremdriftslinje med et minimumsintervall som:

for i i tqdm (område (0, 100), mininterval = 2, desc ="Framgang: "):
sove(.1)

Utdataene får du ved å spesifisere et minimumsintervall til fremdriftslinjen:

6. Fremdriftslinje ved hjelp av ASCII-tegn

Du kan lage en fremdriftslinje ved å bruke ASCII-tegn i stedet for de vanlige linjene du ser på skjermen. For å bruke ASCII-tegn, sett inn ascii parameter til ønsket format.

Hvis du bruker noe som 12345*, hver av kolonnene i området itererer fra én til stjerne sekvensielt. Selv om det er kult og kan tilpasses, sørg for å bruke det brukervennlig når du bruker det i ekte applikasjoner.

Du kan implementere en fremdriftslinje ved å bruke ASCII-tegn som:

for i i tqdm (område (0, 100), ascii ="12345*"):
sove(.1)

Utdataene du får ved å bruke ASCII-tegn i fremdriftslinjen ser slik ut:

7. Fremdriftslinje ved bruk av spesifisert startpunkt

I stedet for å starte en fremdriftslinje fra null, kan du angi et spesifikt startpunkt for fremdriftslinjen. Gi en startverdi som 50 til første parameter.

Du kan implementere en fremdriftslinje ved å bruke et spesifikt startpunkt som:

for i i tqdm (område (0, 100), initial = 50, desc ="Framgang: "):
sove(.1)

Utdataene du får når du starter fremdriftslinjen på et spesifisert tidspunkt:

8. Fremdriftslinje med et spesifisert antall iterasjoner

Du kan opprette en fremdriftslinje som kjører et spesifikt antall iterasjoner. Hvis du vil kjøre 500 iterasjoner av 50 000, sender du 500 som rekkevidde og 50 000 som totalt antall iterasjoner til Total parameter.

Du kan implementere en fremdriftslinje ved å bruke et spesifikt antall iterasjoner som:

for i i tqdm (område (0, 500), totalt = 50 000, desc ="Framgang: "):
sove(.1)

Utdataene du får ved å bruke en fremdriftslinje med et spesifisert antall iterasjoner:

Applikasjoner av fremdriftslinjen

Du vil se fremdriftsindikatorer i ulike situasjoner, som avspilling av en mediespiller eller ved å vise fremgangsmåten gjennom et nettskjema.

Mens en fremdriftslinje ser estetisk ut, gjør den en viktig jobb med å gi tilbakemelding til brukeren hvis de ikke ville forlate nettstedet.