Sintaksa
Naslednji primer prikazuje preprosto uporabo funkcije sleep () za zaustavitev izvajanja programa sredi skripta za določeno obdobje. Skript bo prebral in natisnil trenutno vrednost sistemskega časa, počakal 5 sekund pod funkcijo sleep () in ponovno prebral in natisnil trenutni sistemski čas. Tu se funkciji localtime () in time () uporabljata za branje trenutnega sistemskega datuma in časa, funkcija strftime () pa za tiskanje oblikovanega časa.
#!/ usr / bin / env python3# Uvozni časovni modul
čas uvoza
# Preberite trenutni datum in uro
zdaj = čas.lokalni čas (čas.čas ())
# Natisnite začetni čas
natis (čas.strftime ("Začetni čas:% H:% M:% S", zdaj))
# Počakajte 5 sekund
print ("Čakanje 5 sekund ...")
čas.spanje (5)
# Preberite trenutni datum in uro
zdaj = čas.lokalni čas (čas.čas ())
# Končni čas tiskanja
natis (čas.strftime ("Končni čas:% H:% M:% S", zdaj))
Izhod
Po zagonu zgornjega skripta se prikaže naslednji izhod. Izhod kaže, da je trajanje med začetnim in končnim časom 5 sekund s funkcijo sleep ().
Primer 2: Ustvari števec časa z uporabo spanja ()
Naslednji primer prikazuje, kako enostavno ustvariti števec časa z metodo sleep (). Skript bo v nekaj sekundah inicializiral spremenljivko časovnega števca. Tu so uvoženi trije moduli. The Datum čas modul uvozi za nastavitev začetne vrednosti časa. The čas modul je uvožen za uporabo funkcije sleep (). The sys modul se uporablja za zaključek neskončne zanke while, ko je vrednost števca enaka vrednosti števca časa. Štiri spremenljivke se v skriptu uporabljajo za inicializacijo spremenljivk ure, minute, sekunde in števca za nastavitev začetnega časa števca časa. Tu bo funkcija sleep () počakala eno sekundo v vsaki ponovitvi zanke in nato natisnila vrednost števca časa.
#!/ usr / bin / env python3# Uvozi modul datuma in časa
uvozi datum in čas
# Uvozni časovni modul
čas uvoza
# Uvozi modul sys
uvoz sys
# Vzemite število sekund za štetje
timer = int (input ("Nastavi vrednost števca v sekundah:"))
# Inicializirajte čas in vrednost števca na 0
ura = minuta = sekunda = števec = 0
# Natisnite začetno vrednost časovnika
natisni (datum in čas.čas (ura, minuta, sekunda))
poskusite:
# Določite neskončno zanko
medtem ko je True:
# Zamuda za 1 sekundo
čas.spanje (1)
# Števec prirastka za 1
števec = števec + 1
# Drugi prirastek za 1
drugi = drugi + 1
# Natisnite trenutno vrednost časovnika
natisni (datum in čas.čas (ura, minuta, sekunda))
# Za vrednost več kot 60 nastavite drugo vrednost na 0
če je drugo> 60:
minuta = minuta + 1
drugi = 0
# Minimalno vrednost nastavite na 0, če je vrednost večja od 60
če je minuta> 60:
ura = ura + 1
minuta = 0
# Končajte zanko, ko je vrednost števca enaka vrednosti časovnika
če števec == časovnik:
print ("Čas končan.")
odmor
razen KeyboardInterrupt:
# Končajte skript, ko pritisnete Ctrl + C
sys.izhod
Izhod
Po zagonu skripta se prikaže naslednji izhod.
3. primer: Natisnite vsak znak niza z zamudo
Če želite prikazati vsak znak besedila z nekaj zamude pri izhodu, lahko v skriptu uporabite funkcijo sleep (). Podobna naloga je prikazana v naslednjem skriptu. Tu se za vhod vzame besedilna vrednost. Vsak znak besedila se ponovi s pomočjo zanke in funkcija bo počakala na 0.4 sekunde pred tiskanjem.
#!/ usr / bin / env python3# modul časovnega uvoza
čas uvoza
# Vzemite vrednost niza
name = input ("Vpiši svoje ime:")
# Ponovite zanko, da preberete vsak znak iz niza
za val v imenu:
# Natisnite vsak znak brez nove vrstice
natisni (val, end = ")
# Počakajte na 0.4 sekunde po tiskanju vsakega znaka
čas.spanje (0.4)
Izhod
Zaženite skript. Po zagonu skripta boste pravilno razumeli rezultate.
Primer 4: Uporaba spanja () v skriptu za več navojev
Naslednji primer prikazuje uporabo funkcije sleep () v večnitnem skriptu Python. Tu sta uvožena dva modula: časovni modul za uporabo funkcije sleep () in modul navojev za ustvarjanje več niti. V skriptu sta uporabljeni dve funkciji po meri. Sporočilo SMS se natisne in počaka 0.5 sekunde za trikrat v zanki for, ko se začne prva nit. Sporočilo SMS se natisne in počaka 1 drugič štirikrat znotraj zanke for, ko se začne druga nit.
#!/ usr / bin / env python3# časovni modul uvoza
čas uvoza
# Uvozi modul navojev
uvoz navojev
# Določite funkcijo prve niti
def prn_message_1 ():
za n v območju (3):
print ("Natisni nit 1 sporočilo")
čas.spanje (0.5)
# Določite funkcijo druge niti
def prn_message_2 ():
za n v območju (4):
print ("Natisni nit 2 sporočilo")
čas.spanje (1)
# Nastavite funkcijo prve niti
thread1 = navoj.Nit (cilj = prn_message_1)
# Zaženite funkcijo prve niti
nit1.začetek ()
# Nastavite funkcijo druge niti
thread2 = navoj.Nit (cilj = prn_message_2)
# Zaženite funkcijo druge niti
nit2.začetek ()
Izhod
Po zagonu skripta se prikaže naslednji izhod. Po zagonu prve niti se začne druga nit in počakajte do konca 1 sekundo. V tem času se zanka prve niti zaključi zadnji dve ponovitvi. Za zanko druge niti so se pojavili zadnji trije izhodi.
Zaključek
Funkcija sleep () se uporablja za reševanje številnih vrst časovno povezanih težav v Pythonu. Različne uporabe te metode so razložene z zelo enostavnimi primeri, ki bralcu pomagajo poznati funkcije tega orodja. Verjamem, da boste vi ali kateri koli drug uporabnik Pythona lahko pravilno uporabili to metodo po vadbi primerov, vključenih v to vadnico.