Telkens wanneer u een bestand downloadt of een game start, ziet u een esthetische animatie die zichzelf bijwerkt totdat deze is voltooid. Dit is een voortgangsbalk. Een voortgangsbalk is een grafisch element dat wordt gebruikt om de voortgang van een taak te visualiseren, zoals het downloaden, uploaden of overbrengen van bestanden.
Er zijn twee soorten voortgangsbalken: bepaald en onbepaald. Bepalende voortgangsbalken volgen de voortgang van een taak in de loop van de tijd. Onbepaalde voortgangsbalken lopen oneindig door met een lusanimatie.
Dus, hoe kun je een bepaalde voortgangsbalk maken in een Python CLI-programma?
Wat is de tqdm-module?
tqdm is een module die voornamelijk wordt onderhouden door Casper da Costa-Luis samen met tien andere leden. tqdm is afgeleid van het Arabische woord taqaddum dat "vooruitgang" kan betekenen, en is een afkorting voor "Ik hou zoveel van je" in het Spaans (te quiero demasiado).
Met behulp van de tqdm-module kunt u een aantrekkelijke, functionele voortgangsbalk rechtstreeks in uw terminal maken. Om de tqdm-module te installeren, opent u uw terminal en voert u uit:
Pip installeren tqdm
Wat is de tijdmodule?
De standaard hulpprogramma-module van Python bevat de tijdmodule standaard, dus je hoeft het niet te installeren. U kunt de slaapfunctie in de tijdmodule gebruiken om vertraging toe te voegen aan uw toepassingen, wat de voortgang van de balk zal helpen visualiseren.
U kunt de tijdmodule gebruiken om de datum en tijd te krijgen, taken te plannen en handige applicaties te bouwen zoals een eenvoudige wekkerof een stopwatch.
Een voortgangsbalk toevoegen en aanpassen
De standaard voortgangsbalk is eenvoudig te gebruiken en u kunt deze met verschillende opties aanpassen.
1. Eenvoudige voortgangsbalk
U kunt een eenvoudige voortgangsbalk maken door de tqdm-klasse uit de tqdm-module en de slaapfunctie uit de tijdmodule te importeren. Gebruik een for-lus en herhaal tqdm op het gewenste bereik.
Het bereik kan oplopen tot 9e9 (negen miljard). Geef het aantal seconden door aan de slaapfunctie om een vertraging toe te voegen, zodat u de voortgangsbalk in actie kunt visualiseren en zien.
U kunt een eenvoudige voortgangsbalk als volgt implementeren:
van tqdm importeren tqdm
van tijd importeren slaap
voor i in tqdm (bereik (100)):
slaap(.1)
In plaats van tqdm te importeren, kunt u trange uit de tqdm-module importeren om tqdm en bereik te combineren en de parameter rechtstreeks door te geven.
van tqdm importeren vreemd
van tijd importeren slaap
voor i in trange (100):
slaap(.1)
De uitvoer die u verkrijgt bij het maken van een eenvoudige voortgangsbalk ziet er als volgt uit:
Deze uitvoer bevat grafische en tekstuele versies van de voortgang, samen met timingstatistieken.
2. Voortgangsbalk met beschrijvingstekst
U kunt een beschrijvend label aan de voortgangsbalk toevoegen om het doel ervan uit te leggen. Geef de tekst die u tussen dubbele aanhalingstekens wilt weergeven door als de ontschr parameter:
voor i in tqdm (bereik (0, 10), desc ="Voortgang: "):
slaap(.4)
De uitvoer die u verkrijgt bij het toevoegen van een beschrijvende tekst samen met de voortgangsbalk ziet er als volgt uit:
3. Voortgangsbalk met aangepaste breedte
Standaard wordt de breedte van de voortgangsbalk dynamisch ingesteld op de grootte van het uitvoervenster. U kunt het naar wens aanpassen met behulp van de ncols parameter.
U kunt een voortgangsbalk met aangepaste breedte implementeren als:
voor i in tqdm (bereik (0, 10), ncols = 100, desc ="Voortgang: "):
slaap(.1)
De uitvoer die u verkrijgt bij het verlengen van de breedte van de voortgangsbalk ziet er als volgt uit:
4. Voortgangsbalk met behulp van kleur
U kunt de kleur van de voortgangsbalk aanpassen met behulp van de kleurparameter. U kunt dit op twee manieren doen:
- Kleur naam: U kunt de naam van de kleur gebruiken, zoals groen, zwart, cyaan en meer.
- Hex-code:Hex-code is een formaat waarin de computer de kleur opslaat. U kunt Hex-kleur aangeven met een hekje (#) gevolgd door 6 hexadecimale tekens (0-9, a-f). De hexadecimale code #000000 staat voor zwart, terwijl #ffffff voor wit staat. Door de intensiteit van deze getallen te variëren, verkrijgt u verschillende kleurschakeringen. U kunt de Tool voor kleurkiezer van Google om de hexadecimale codekleur te selecteren en te plakken.
U kunt een voortgangsbalk met aangepaste kleuren implementeren als:
voor i in tqdm (bereik (0, 100), kleur="#00ffff", ontsch ="Voortgang: "):
slaap(.1)
De uitvoer die u krijgt bij het wijzigen van de kleur van de voortgangsbalk:
5. Voortgangsbalk met minimaal interval
U kunt een voortgangsbalk maken die wordt bijgewerkt met een minimuminterval in plaats van de standaardinstelling. U kunt een getal doorgeven zoals 1,5 of 2 dat zal dienen als het interval tussen twee updates. De standaardwaarde van het minimale interval is 0,1.
U kunt een voortgangsbalk met een minimaal interval implementeren als:
voor i in tqdm (bereik (0, 100), mininterval = 2, desc ="Voortgang: "):
slaap(.1)
De uitvoer die u verkrijgt door een minimuminterval op te geven voor de voortgangsbalk:
6. Voortgangsbalk met behulp van ASCII-tekens
U kunt een voortgangsbalk maken met behulp van ASCII-tekens in plaats van de gebruikelijke balken die u op het scherm ziet. Om ASCII-tekens te gebruiken, stelt u de ascii parameter naar het gewenste formaat.
Als je zoiets gebruikt 12345*, herhaalt elk van de kolommen van het bereik zich achtereenvolgens van één tot asterisk. Hoewel het cool en aanpasbaar is, moet je ervoor zorgen dat het gebruiksvriendelijk is wanneer je het in echte toepassingen gebruikt.
U kunt een voortgangsbalk implementeren met behulp van ASCII-tekens als:
voor i in tqdm (bereik (0, 100), ascii ="12345*"):
slaap(.1)
De uitvoer die u verkrijgt door ASCII-tekens in de voortgangsbalk te gebruiken, ziet er als volgt uit:
7. Voortgangsbalk met behulp van opgegeven startpunt
In plaats van een voortgangsbalk vanaf nul te beginnen, kunt u een specifiek startpunt voor de voortgangsbalk instellen. Geef een startwaarde zoals 50 door aan de voorletter parameter.
U kunt een voortgangsbalk implementeren met behulp van een specifiek startpunt als:
voor i in tqdm (bereik (0, 100), begin = 50, desc ="Voortgang: "):
slaap(.1)
De uitvoer die u verkrijgt bij het starten van de voortgangsbalk op een bepaald punt:
8. Voortgangsbalk met een gespecificeerd aantal iteraties
U kunt een voortgangsbalk maken die een bepaald aantal iteraties uitvoert. Als u 500 iteraties van de 50000 wilt uitvoeren, geeft u 500 door als het bereik en 50000 als het totale aantal iteraties aan de totaal parameter.
U kunt een voortgangsbalk implementeren met een specifiek aantal iteraties als:
voor i in tqdm (bereik (0, 500), totaal = 50000, desc ="Voortgang: "):
slaap(.1)
De uitvoer die u verkrijgt met behulp van een voortgangsbalk met een opgegeven aantal iteraties:
Toepassingen van de voortgangsbalk
Je ziet voortgangsbalken in verschillende situaties, zoals het afspelen van een mediaspeler of het tonen van de stappen via een online formulier.
Hoewel een voortgangsbalk er esthetisch uitziet, levert hij een belangrijke taak door feedback te geven aan de gebruiker, anders zouden ze de website verlaten.