Amikor letölt egy fájlt vagy elindít egy játékot, esztétikai animáció jelenik meg, amely a befejezésig frissül. Ez egy folyamatjelző sáv. A folyamatjelző sáv egy grafikus elem, amely egy feladat, például a fájlok letöltése, feltöltése vagy átvitele folyamatának megjelenítésére szolgál.
Kétféle folyamatjelző sáv létezik: határozott és határozatlan. A határozott folyamatjelző sávok nyomon követik a feladat előrehaladását az idő múlásával. A határozatlan folyamatjelző sávok végtelenségig futnak egy hurkos animációval.
Tehát hogyan hozhat létre egy meghatározott folyamatjelző sávot egy Python CLI programban?
Mi az a tqdm modul?
A tqdm egy olyan modul, amelyet elsősorban Casper da Costa-Luis tart fenn tíz másik taggal együtt. A tqdm az arab taqaddum szóból származik, amely jelentése „haladás”, és a spanyol „nagyon szeretlek” rövidítése (te quiero demasiado).
A tqdm modul segítségével vonzó, funkcionális folyamatjelző sávot készíthet közvetlenül a termináljában. A tqdm modul telepítéséhez nyissa meg a terminált, és futtassa:
csipog telepítés tqdm
Mi az idő modul?
A Python szabványos segédprogram modulja tartalmazza az időmodul alapértelmezés szerint, így nem kell telepítenie. Használhatja az időmodulban található alvás funkciót, hogy késleltetést adjon az alkalmazásokhoz, ami segít megjeleníteni a sáv előrehaladását.
Az időmodul segítségével lekérheti a dátumot és az időt, ütemezheti a feladatokat, és olyan hasznos alkalmazásokat készíthet, mint a egyszerű ébresztőóra, vagy stopperóra.
Folyamatjelző sáv hozzáadása és testreszabása
Az alapértelmezett folyamatjelző sáv könnyen használható, és számos lehetőséggel testreszabhatja.
1. Egyszerű folyamatjelző sáv
Létrehozhat egy egyszerű folyamatjelző sávot, ha importálja a tqdm osztályt a tqdm modulból és az alvás funkciót az időmodulból. Használjon for ciklust, és iterálja a tqdm-et a kívánt tartományon.
A tartomány 9e9-ig (kilenc milliárd) bármi lehet. Adja át a másodpercek számát az alvó funkciónak a késleltetés hozzáadásához, hogy megjeleníthesse és működés közben láthassa a folyamatjelző sávot.
Megvalósíthat egy egyszerű folyamatjelző sávot, például:
tól től tqdm import tqdm
tól től idő import alvás
i-hez tqdm-ben (tartomány (100)):
alvás(.1)
A tqdm importálása helyett a tqdm modulból importálhatja a trange paramétert a tqdm és a range kombinálásához, és a paraméter közvetlen átadásához.
tól től tqdm import furcsa
tól től idő import alvás
számomra furcsa (100):
alvás(.1)
Az egyszerű folyamatjelző sáv létrehozása során kapott kimenet így néz ki:
Ez a kimenet az előrehaladás grafikus és szöveges változatát tartalmazza, valamint az időzítési statisztikákat.
2. Folyamat sáv Leíró szöveggel
Felvehet egy leíró címkét a folyamatjelző sávba, hogy elmagyarázza a célját. Adja át a megjeleníteni kívánt szöveget idézőjelbe foglalva a desc paraméter:
for i in tqdm (tartomány (0, 10), desc ="Előrehalad: "):
alvás(.4)
A leíró szöveg és a folyamatjelző sáv hozzáadásakor kapott kimenet így néz ki:
3. Folyamat sáv testreszabott szélességgel
Alapértelmezés szerint a folyamatjelző sáv szélessége dinamikusan a kimeneti ablak méretéhez igazodik. A segítségével tetszés szerint testreszabhatja a ncols paraméter.
Testreszabott szélességű folyamatjelző sávot a következőképpen állíthat be:
i esetén tqdm-ben (tartomány (0, 10), ncols = 100, desc ="Előrehalad: "):
alvás(.1)
A folyamatjelző sáv szélességének meghosszabbításával kapott eredmény így néz ki:
4. Folyamat sáv szín használatával
A színparaméter segítségével testreszabhatja a folyamatjelző sáv színét. Ezt kétféleképpen teheti meg:
- Szín neve: Használhatja a szín nevét, például zöld, fekete, cián stb.
- Hex kód:A hexadecimális kód egy formátum amelyben a számítógép a színt tárolja. A hexadecimális színt egy hash-sel (#) jelölheti, amelyet 6 karakter követ hexadecimálisan (0-9, a-f). A #000000 hexadecimális kód a feketét, míg a #ffffff a fehéret jelöli. Ezeknek a számoknak az intenzitásának változtatásával különböző színárnyalatokat kaphat. Használhatja a Színválasztó eszköz a Google-tól a Hex Code szín kiválasztásához és beillesztéséhez.
A folyamatjelző sáv testreszabott színekkel valósítható meg:
for i in tqdm (tartomány (0, 100), color="#00ffff", desc ="Előrehalad: "):
alvás(.1)
A folyamatjelző sáv színének megváltoztatásakor kapott kimenet:
5. Folyamat sáv minimális időközzel
Létrehozhat egy folyamatjelző sávot, amely az alapértelmezett beállítás helyett minimális időközönként frissül. Átadhat egy számot, például 1,5-öt vagy 2-t, amely két frissítés közötti intervallumként szolgál. A minimális intervallum alapértelmezett értéke 0,1.
A folyamatjelző sáv minimális időközzel valósítható meg:
i-hez tqdm-ben (tartomány (0, 100), minintervallum = 2, desc ="Előrehalad: "):
alvás(.1)
A kimenet, amelyet a folyamatjelző sáv minimális intervallumának megadásával kapunk:
6. Folyamat sáv ASCII karakterek használatával
A képernyőn látható szokásos sávok helyett ASCII-karakterekkel is létrehozhat folyamatjelző sávot. Az ASCII karakterek használatához állítsa be a ascii paramétert a kívánt formátumra.
Ha olyasmit használsz 12345*, a tartomány minden oszlopa egytől a csillagig ismétlődik egymás után. Bár hűvös és testreszabható, ügyeljen arra, hogy felhasználóbarát legyen, ha valódi alkalmazásokban használja.
A folyamatjelző sáv ASCII karakterek használatával valósítható meg:
i esetén tqdm-ben (tartomány (0, 100), ascii ="12345*"):
alvás(.1)
A folyamatjelző sáv ASCII-karaktereinek használatával kapott kimenet így néz ki:
7. Folyamat sáv a megadott kezdőpont használatával
Ahelyett, hogy a folyamatjelző sávot nulláról kezdené, beállíthat egy konkrét kezdőpontot a folyamatjelző sáv számára. Adjon át egy kezdő értéket, például 50-et a kezdeti paraméter.
Megvalósíthat egy folyamatjelző sávot egy adott kezdőpont használatával:
i esetén tqdm-ben (tartomány (0, 100), kezdeti = 50, csökkenő ="Előrehalad: "):
alvás(.1)
A folyamatjelző sáv egy meghatározott ponton történő elindításakor kapott kimenet:
8. Folyamatjelző sáv meghatározott számú iterációval
Létrehozhat egy folyamatjelző sávot, amely meghatározott számú iterációt futtat. Ha 500 iterációt szeretne futtatni az 50 000-ből, adja meg az 500-at tartományként és 50000-et az iterációk teljes számaként. teljes paraméter.
A folyamatjelző sáv meghatározott számú iterációval valósítható meg:
i-hez tqdm-ben (tartomány (0, 500), összesen = 50000, desc ="Előrehalad: "):
alvás(.1)
A meghatározott számú iterációt tartalmazó folyamatjelző sáv használatával kapott kimenet:
A folyamatjelző sáv alkalmazásai
Különböző helyzetekben folyamatjelző sávok jelennek meg, például egy médialejátszó lejátszásakor vagy a lépések megjelenítése egy online űrlapon keresztül.
Míg a folyamatjelző sáv esztétikusan néz ki, fontos szerepet játszik abban, hogy visszajelzést adjon a felhasználónak, amelynek hiányában elhagyná a webhelyet.