Creați o bară de progres în Python CLI

Creați o bară de progres în Python CLI

Ori de câte ori descărcați un fișier sau începeți un joc, vedeți o animație estetică care se actualizează până la finalizare. Aceasta este o bară de progres. O bară de progres este un element grafic utilizat pentru a vizualiza progresul unei sarcini, cum ar fi descărcarea, încărcarea sau transferul de fișiere.





Există două tipuri de bare de progres: determinate și nedeterminate. Barele de progres determinate urmăresc progresul unei sarcini în timp. Barele de progres nedeterminate rulează la infinit cu o animație în buclă.





REALIZAREA VIDEOCLIPULUI ZILEI

Deci, cum puteți crea o bară de progres determinată într-un program CLI Python?





Ce este modulul tqdm?

tqdm este un modul întreținut în principal de Casper da Costa-Luis împreună cu alți zece membri. tqdm derivă din cuvântul arab taqaddum care poate însemna „progres” și este o abreviere pentru „te iubesc atât de mult” în spaniolă (te quiero demasiado).

Folosind modulul tqdm, puteți crea o bară de progres atractivă și funcțională chiar în terminalul dvs. Pentru a instala modulul tqdm, deschideți terminalul și rulați:



pip install tqdm

Care este modulul de timp?

Modulul utilitar standard al Python include modulul de timp implicit, deci nu trebuie să-l instalați. Puteți utiliza funcția de somn furnizată în modulul de timp pentru a adăuga întârziere aplicațiilor dvs., ceea ce vă va ajuta să vizualizați progresul barei.

Puteți utiliza modulul de timp pentru a obține data și ora, pentru a programa sarcini și pentru a crea aplicații utile, cum ar fi a ceas deşteptător simplu , sau un cronometru.





Cum să adăugați o bară de progres și să o personalizați

Bara de progres implicită este ușor de utilizat și o puteți personaliza cu mai multe opțiuni.

1. Bară de progres simplă

Puteți crea o bară de progres simplă importând clasa tqdm din modulul tqdm și funcția de somn din modulul de timp. Utilizați o buclă for și repetați tqdm pe intervalul dorit.





Intervalul poate fi de până la 9e9 (nouă miliarde). Treceți numărul de secunde la funcția de somn pentru a adăuga o întârziere, astfel încât să puteți vizualiza și vedea bara de progres în acțiune.

Puteți implementa o bară de progres simplă ca aceasta:

from tqdm import tqdm 
from time import sleep

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

În loc să importați tqdm, puteți importa trange din modulul tqdm pentru a combina tqdm și interval și pentru a transmite parametrul direct.

from tqdm import trange 
from time import sleep

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

Ieșirea pe care o obțineți la crearea unei bare de progres simplă arată astfel:

  Bară de progres simplă

Această ieșire include versiuni grafice și textuale ale progresului, împreună cu statistici de sincronizare.

obțineți o nouă adresă de e-mail

2. Bara de progres cu text de descriere

Puteți adăuga o etichetă descriptivă la bara de progres pentru a explica scopul acesteia. Treceți textul pe care doriți să-l afișați învelit între ghilimele duble ca desc parametru:

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

Rezultatul pe care îl obțineți la adăugarea unui text de descriere împreună cu bara de progres arată astfel:

  Bara de progres cu text

3. Bară de progres cu lățime personalizată

În mod implicit, lățimea barei de progres este setată dinamic în funcție de dimensiunea ferestrei de ieșire. Il poti personaliza dupa bunul plac cu ajutorul ncols parametru.

Puteți implementa o bară de progres cu lățime personalizată ca:

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

Ieșirea pe care o obțineți la alungirea lățimii barei de progres arată astfel:

  Bara de progres cu descriere și ncols

4. Bara de progres folosind culoarea

Puteți personaliza culoarea barei de progres folosind parametrul de culoare. Puteți face acest lucru în două moduri:

  1. Nume culoare: Puteți folosi numele culorii, cum ar fi verde, negru, cyan și altele.
  2. Cod hexadecimal: Codul hexadecimal este un format în care computerul stochează culoarea. Puteți indica culoarea Hex cu un hash (#) urmat de 6 caractere în hexazecimal (0-9, a-f). Codul hexadecimal #000000 reprezintă negru, în timp ce #ffffff reprezintă alb. Variind intensitatea acestor numere, obțineți diferite nuanțe de culori. Puteți folosi Instrumentul de selectare a culorilor de la Google pentru a selecta și lipi culoarea codului hexadecimal.

Puteți implementa o bară de progres cu culori personalizate ca:

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

Rezultatul pe care îl obțineți la schimbarea culorii barei de progres:

  Bară de progres cu culoare

5. Bara de progres cu interval minim

Puteți crea o bară de progres care se actualizează cu un interval minim în loc de setarea implicită. Puteți trece un număr precum 1,5 sau 2 care va servi drept interval între două actualizări. Valoarea implicită a intervalului minim este 0,1.

Puteți implementa o bară de progres cu un interval minim ca:

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

Ieșirea pe care o obțineți prin specificarea unui interval minim la bara de progres:

  Bara de progres cu interval minim

6. Bara de progres folosind caractere ASCII

Puteți crea o bară de progres folosind caractere ASCII în loc de barele obișnuite pe care le vedeți pe ecran. Pentru a utiliza caractere ASCII, setați ascii parametrul la formatul dorit.

Dacă folosești ceva de genul 12345* , fiecare dintre coloanele intervalului iterează de la unu la asterisc secvenţial. Deși este cool și personalizabil, asigurați-vă că îl utilizați ușor de utilizat atunci când îl utilizați în aplicații reale.

Puteți implementa o bară de progres folosind caractere ASCII ca:

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

Ieșirea pe care o obțineți utilizând caractere ASCII în bara de progres arată astfel:

  Bară de progres cu caractere ASCII

7. Bara de progres folosind punctul de pornire specificat

În loc să porniți o bară de progres de la zero, puteți seta un anumit punct de plecare pentru bara de progres. Transmite o valoare de pornire, cum ar fi 50, la iniţială parametru.

Puteți implementa o bară de progres folosind un anumit punct de plecare ca:

s21 ultra vs 12 pro max
for i in tqdm(range(0, 100), initial = 50, desc ="Progress: "): 
sleep(.1)

Ieșirea pe care o obțineți la pornirea barei de progres la un punct specificat:

  Bara de progres cu parametrul inițial

8. Bară de progres cu un număr specificat de iterații

Puteți crea o bară de progres care rulează un anumit număr de iterații. Dacă doriți să rulați 500 de iterații din 50000, treceți 500 ca interval și 50000 ca număr total de iterații la total parametru.

Puteți implementa o bară de progres folosind un anumit număr de iterații ca:

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

Rezultatul pe care îl obțineți folosind o bară de progres cu un număr specificat de iterații:

  Bară de progres cu un număr specificat de iterații

Aplicații ale barei de progres

Veți vedea bare de progres în diferite situații, cum ar fi redarea unui player media sau afișarea pașilor printr-un formular online.

În timp ce o bară de progres pare estetică, face o treabă importantă de a oferi feedback utilizatorului în absența căruia ar părăsi site-ul web.