Szintaxis
Az alábbi példa bemutatja a sleep () függvény egyszerű használatát a program végrehajtásának leállítására a szkript közepén egy bizonyos ideig. A szkript beolvassa és kinyomtatja az aktuális rendszeridőértéket, 5 másodpercet vár az alvás () függvény alatt, majd újra elolvassa és kinyomtatja az aktuális rendszeridőt. Itt a localtime () és az time () függvényeket használják az aktuális rendszer dátumának és idejének beolvasására, az strftime () függvényt pedig a formázott idő nyomtatására.
#!/ usr / bin / env python3# Időmodul importálása
import idő
# Olvassa el az aktuális dátumot és időt
most = idő.helyi idő (idő.idő())
# A nyomtatás kezdési ideje
nyomtatás (idő.strftime ("A kezdési idő:% H:% M:% S", most))
# Várjon 5 másodpercet
nyomtatás ("Várakozás 5 másodpercig ...")
idő.alvás (5)
# Olvassa el az aktuális dátumot és időt
most = idő.helyi idő (idő.idő())
# A nyomtatás befejezési ideje
nyomtatás (idő.strftime ("A befejezés ideje:% H:% M:% S", most))
Kimenet
A fenti kimenet a fenti parancsfájl futtatása után jelenik meg. A kimenet azt mutatja, hogy a kezdési és a befejezési idő közötti időtartam 5 másodperc, az alvás () funkció használatával.
2. példa: Időszámláló létrehozása az alvás () használatával
A következő példa bemutatja, hogyan lehet egyszerűen létrehozni egy időszámlálót a sleep () módszerrel. A szkript másodpercek alatt megad egy számot az időszámláló változó inicializálásához. Három modul importálódik ide. A dátum idő modult importáljuk a kezdeti időérték beállításához. A idő modult importálják a sleep () függvény használatához. A sys modult használjuk a végtelen while hurok megszüntetésére, amikor a számláló értéke megegyezik az időszámláló értékével. Négy változót használnak a szkriptben az óra, perc, másodperc és számláló változók inicializálásához az időszámláló kezdési idejének beállításához. Itt az sleep () függvény egy másodpercet vár a hurok minden iterációjában, majd kinyomtatja az időszámláló értékét.
#!/ usr / bin / env python3# Dátumidő modul importálása
importálás ideje
# Időmodul importálása
import idő
# Sys modul importálása
import sys
# Vegyük a másodpercek számát
timer = int (input ("Állítsa be a számláló értékét másodpercben:"))
# Inicializálja az időt és az ellenértéket 0-ra
óra = perc = másodperc = számláló = 0
# Nyomtassa ki a kezdő időzítő értékét
nyomtatás (datetime.idő (óra, perc, másodperc))
próbáld ki:
# Definiáljon végtelen ciklust
míg True:
# Késés 1 másodpercig
idő.alvás (1)
# Növekményszámláló 1-vel
számláló = számláló + 1
# Növelje a másodikat 1-gyel
másodperc = második + 1
# Nyomtassa ki az aktuális időzítő értékét
nyomtatás (datetime.idő (óra, perc, másodperc))
# Állítsa a második értéket 0-ra, ha az érték nagyobb, mint 60
ha második> 60:
perc = perc + 1
másodperc = 0
# Állítsa a perc értékét 0-ra, ha az érték nagyobb, mint 60
ha perc> 60:
óra = óra + 1
perc = 0
# Szüntesse meg a ciklust, ha a számláló értéke megegyezik az időzítő értékével
ha számláló == időzítő:
print ("Az idő befejeződött.")
szünet
kivéve a KeyboardInterrupt:
# A Ctrl + C megnyomásakor fejezze be a parancsfájlt
sys.kijárat
Kimenet
A következő kimenet jelenik meg a szkript futtatása után.
3. példa: Egy karakterlánc minden karakterének kinyomtatása késéssel
Ha a szöveg egyes karaktereit némi késéssel kívánja megjeleníteni a kimenetben, akkor alkalmazhatja a sleep () függvényt a szkriptben. Hasonló feladatot mutat be a következő szkript. Itt egy szöveges érték kerül bevitelre. A szöveg minden karakterét a ciklus segítségével iteráljuk, és a függvény 0-ra vár.4 másodperccel a nyomtatás előtt.
#!/ usr / bin / env python3# import idő modul
import idő
# Vegyünk egy string értéket
név = bevitel ("Írja be a nevét:")
# Ismételje meg a ciklust az egyes karakterek kiolvasásához a karakterláncból
a val névhez:
# Minden karakter nyomtatása új sor nélkül
nyomtatás (val, end = ")
# Várjon 0-ra.4 másodperccel az egyes karakterek kinyomtatása után
idő.alvás (0.4)
Kimenet
Futtassa a szkriptet. A kimenetet a szkript futtatása után meg fogja érteni.
4. példa: Az alvás () használata a többszálú szkriptben
Az alábbi példa bemutatja a sleep () függvény használatát a többszálas Python szkriptben. Két modul importálódik ide: az idő modul a sleep () függvény használatához és a menetes modul több szál létrehozásához. Két egyedi függvényt használ a szkript. Egy szöveges üzenet kinyomtatva vár 0.5 másodpercig háromszor a for cikluson belül, amikor az első szál elindul. Egy szöveges üzenet kinyomtatva vár 1 másodszor négyszer a for ciklus belsejében, amikor a második szál elindul.
#!/ usr / bin / env python3# import idő modul
import idő
# Menetmodul importálása
import menetelés
# Határozza meg az első szálfüggvényt
def prn_message_1 ():
n esetén a (3) tartományban:
nyomtatás ("1. szál üzenet nyomtatása")
idő.alvás (0.5)
# Határozza meg a második szálfüggvényt
def prn_message_2 ():
n esetén a tartományban (4):
nyomtatás ("2. szál nyomtatási üzenete")
idő.alvás (1)
# Állítsa be az első szál funkciót
menet1 = menetfűzés.Szál (target = prn_message_1)
# Indítsa el az első szál funkciót
szál1.Rajt()
# Állítsa be a második szál funkciót
menet2 = menetfűzés.Szál (target = prn_message_2)
# Indítsa el a második szál funkciót
menet2.Rajt()
Kimenet
A következő kimenet jelenik meg a szkript futtatása után. Az első szál elindítása után kezdődik a második szál, és várjon 1 másodpercig a befejezéséig. Ez idő alatt az első szál hurka befejezi az utolsó két iterációt. Az utolsó három kimenet jelent meg a második szál hurokjára.
Következtetés
Az sleep () függvény sokféle, az idővel kapcsolatos probléma megoldására szolgál a Pythonban. Ennek a módszernek a különféle felhasználásait itt nagyon egyszerű példákkal magyarázzák, amelyek segítenek az olvasónak megismerni az eszköz funkcióit. Úgy gondolom, hogy Ön vagy bármely más Python felhasználó képes lesz megfelelően használni ezt a módszert az oktatóanyagban szereplő példák gyakorlása után.