Utwórz pasek postępu w Pythonie CLI

Utwórz pasek postępu w Pythonie CLI

Za każdym razem, gdy pobierasz plik lub uruchamiasz grę, widzisz estetyczną animację, która aktualizuje się, dopóki nie zostanie ukończona. To jest pasek postępu. Pasek postępu to element graficzny służący do wizualizacji postępu zadania, takiego jak pobieranie, przesyłanie lub przesyłanie plików.





Istnieją dwa rodzaje pasków postępu: określony i nieokreślony. Określone paski postępu śledzą postęp zadania w czasie. Nieokreślone paski postępu biegną w nieskończoność z zapętloną animacją.





MAKEUSEOF WIDEO DNIA

Jak więc utworzyć określony pasek postępu w programie CLI w języku Python?





Co to jest moduł tqdm?

tqdm to moduł utrzymywany głównie przez Casper da Costa-Luis wraz z dziesięcioma innymi członkami. tqdm wywodzi się od arabskiego słowa taqaddum, które może oznaczać „postęp” i jest skrótem od „tak bardzo cię kocham” w języku hiszpańskim (te quiero demasiado).

Za pomocą modułu tqdm możesz stworzyć atrakcyjny, funkcjonalny pasek postępu bezpośrednio w swoim terminalu. Aby zainstalować moduł tqdm, otwórz terminal i uruchom:



pip install tqdm

Co to jest moduł czasu?

Standardowy moduł narzędziowy Pythona zawiera moduł czasu domyślnie, więc nie musisz go instalować. Możesz użyć funkcji uśpienia dostępnej w module czasu, aby dodać opóźnienie do swoich aplikacji, co pomoże zwizualizować postęp paska.

Możesz użyć modułu czasu, aby uzyskać datę i godzinę, zaplanować zadania i zbudować przydatne aplikacje, takie jak prosty budzik lub stoper.





Jak dodać pasek postępu i dostosować go?

Domyślny pasek postępu jest łatwy w użyciu i można go dostosować za pomocą kilku opcji.

1. Prosty pasek postępu

Możesz utworzyć prosty pasek postępu, importując klasę tqdm z modułu tqdm oraz funkcję sleep z modułu czasu. Użyj pętli for i wykonaj iterację tqdm w żądanym zakresie.





Zakres może wynosić do 9e9 (dziewięć miliardów). Przekaż liczbę sekund funkcji uśpienia, aby dodać opóźnienie, dzięki czemu możesz wizualizować i widzieć pasek postępu w akcji.

jak wyłączyć rekomendacje YouTube

Możesz zaimplementować prosty pasek postępu, taki jak ten:

from tqdm import tqdm 
from time import sleep

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

Zamiast importować tqdm, możesz zaimportować trange z modułu tqdm, aby połączyć tqdm i range i przekazać parametr bezpośrednio.

from tqdm import trange 
from time import sleep

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

Wynik, który otrzymujesz po utworzeniu prostego paska postępu, wygląda tak:

  Prosty pasek postępu

Te dane wyjściowe obejmują graficzne i tekstowe wersje postępu wraz ze statystykami czasu.

2. Pasek postępu z tekstem opisu

Możesz dodać opisową etykietę do paska postępu, aby wyjaśnić jego przeznaczenie. Przekaż tekst, który chcesz wyświetlić, zawinięty w podwójne cudzysłowy jako opis parametr:

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

Wynik, który otrzymujesz po dodaniu tekstu opisu wraz z paskiem postępu, wygląda tak:

  Pasek postępu z tekstem

3. Pasek postępu z dostosowaną szerokością

Domyślnie szerokość paska postępu jest ustawiana dynamicznie do rozmiaru okna wyjściowego. Możesz dostosować go według własnych upodobań za pomocą ncols parametr.

Możesz zaimplementować pasek postępu o niestandardowej szerokości jako:

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

Wynik uzyskany po wydłużeniu szerokości paska postępu wygląda tak:

  Pasek postępu z opisem i ncols

4. Pasek postępu przy użyciu koloru

Możesz dostosować kolor paska postępu za pomocą parametru color. Możesz to zrobić na dwa sposoby:

  1. Nazwa koloru: Możesz użyć nazwy koloru, takiej jak zielony, czarny, cyjan i inne.
  2. Kod szesnastkowy: Kod szesnastkowy to format w którym komputer przechowuje kolor. Kolor szesnastkowy można oznaczyć za pomocą skrótu (#), po którym następuje 6 znaków w systemie szesnastkowym (0-9, a-f). Kod szesnastkowy #000000 reprezentuje kolor czarny, a #ffffff reprezentuje kolor biały. Zmieniając intensywność tych liczb uzyskuje się różne odcienie kolorów. Możesz użyć Narzędzie Color Picker od Google aby wybrać i wkleić kolor kodu szesnastkowego.

Możesz zaimplementować pasek postępu z niestandardowymi kolorami jako:

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

Dane wyjściowe, które uzyskujesz po zmianie koloru paska postępu:

  Pasek postępu z kolorem

5. Pasek postępu z minimalnym interwałem

Możesz utworzyć pasek postępu, który aktualizuje się z minimalnym interwałem zamiast z ustawieniem domyślnym. Możesz podać liczbę, taką jak 1,5 lub 2, która będzie służyć jako odstęp między dwiema aktualizacjami. Domyślna wartość minimalnego interwału to 0,1.

Możesz zaimplementować pasek postępu z minimalnym interwałem jako:

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

Wynik uzyskasz, określając minimalny odstęp na pasku postępu:

  Pasek postępu z minimalnym interwałem

6. Pasek postępu przy użyciu znaków ASCII

Możesz utworzyć pasek postępu za pomocą znaków ASCII zamiast zwykłych pasków widocznych na ekranie. Aby używać znaków ASCII, ustaw ascii parametr do żądanego formatu.

Jeśli używasz czegoś takiego 12345* , każda z kolumn zakresu iteruje kolejno od jednego do gwiazdki. Chociaż jest fajny i można go dostosować, pamiętaj, aby używać go w rzeczywistych aplikacjach, aby był przyjazny dla użytkownika.

Możesz zaimplementować pasek postępu za pomocą znaków ASCII jako:

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

Wynik uzyskany za pomocą znaków ASCII na pasku postępu wygląda następująco:

  Pasek postępu ze znakami ASCII

7. Pasek postępu przy użyciu określonego punktu początkowego

Zamiast zaczynać pasek postępu od zera, możesz ustawić określony punkt początkowy dla paska postępu. Przekaż wartość początkową, np. 50, do Inicjał parametr.

Możesz zaimplementować pasek postępu, używając określonego punktu początkowego jako:

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

Dane wyjściowe, które otrzymujesz po uruchomieniu paska postępu w określonym punkcie:

  Pasek postępu z początkowym parametrem

8. Pasek postępu z określoną liczbą iteracji

Możesz utworzyć pasek postępu, który uruchamia określoną liczbę iteracji. Jeśli chcesz wykonać 500 iteracji z 50000, przekaż 500 jako zakres i 50000 jako całkowitą liczbę iteracji do całkowity parametr.

Możesz zaimplementować pasek postępu za pomocą określonej liczby iteracji jako:

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

Wynik uzyskasz za pomocą paska postępu z określoną liczbą iteracji:

  Pasek postępu z określoną liczbą iteracji

Zastosowania paska postępu

Zobaczysz paski postępu w różnych sytuacjach, takich jak odtwarzanie odtwarzacza multimedialnego lub pokazywanie kroków w formularzu online.

Chociaż pasek postępu wygląda estetycznie, pełni ważną rolę w dostarczaniu użytkownikowi informacji zwrotnej, w przypadku braku której opuści stronę internetową.