Python

Pythoni sleep () meetodi kasutamine

Pythoni sleep () meetodi kasutamine
Kui soovite enne mis tahes skripti käivitamist määrata viivituse, võite kasutada nuppu magama () funktsioon, mis on sisse ehitatud Pythoni. See meetod on olemas aeg moodul. Üldiselt kasutatakse funktsiooni sleep () programmi täitmise peatamiseks antud ajaperioodil (sekundites). Näiteks kui laadite faili alla asukohast skripti abil, mis võib vajada teatud ajaperioodi, saate meetodit sleep () teavitada kasutajat ootama. See õpetus näitab teile Python 3 funktsiooni sleep () erinevaid kasutusviise.

Süntaks

Järgmine näide näitab funktsiooni sleep () lihtsat kasutamist programmi täitmise peatamiseks skripti keskel teatud perioodiks. Skript loeb ja prindib praeguse süsteemi ajaväärtuse, ootab unerežiimi () all 5 sekundit ning loeb ja prindib uuesti praeguse süsteemiaja. Siin kasutatakse funktsioone localtime () ja time () süsteemi praeguse kuupäeva ja kellaaja lugemiseks ning funktsiooni strftime () vormindatud aja printimiseks.

#!/ usr / bin / env python3
# Importimoodul
impordiaeg
 
# Lugege praegust kuupäeva ja kellaaega
nüüd = aeg.kohalik aeg (aeg.aeg ())
 
# Printimise algusaeg
print (aeg.strftime ("Algusaeg:% H:% M:% S", nüüd))
 
# Oodake 5 sekundit
print ("Ootan 5 sekundit ...")
aeg.magama (5)
 
# Lugege praegust kuupäeva ja kellaaega
nüüd = aeg.kohalik aeg (aeg.aeg ())
 
# Trüki lõpu aeg
print (aeg.strftime ("Lõppeaeg:% H:% M:% S", nüüd))

Väljund

Pärast ülaltoodud skripti käivitamist ilmub järgmine väljund. Väljund näitab, et algus- ja lõppaja vaheline kestus on unerežiimi () abil 5 sekundit.

Näide 2: Ajaloenduri loomine une () abil

Järgmine näide näitab, kuidas uneta () meetodi abil hõlpsasti ajaloendurit luua. Ajaloenduri muutuja lähtestamiseks kulub skriptil sekundites arv.  Siia imporditakse kolm moodulit. The kuupäev Kellaaeg algse ajaväärtuse määramiseks imporditakse moodul. The aeg moodul imporditakse funktsiooni sleep () kasutamiseks. The sys moodulit kasutatakse lõpmatu samal ajal tsükli lõpetamiseks, kui loenduri väärtus on võrdne ajaloenduri väärtusega. Neli muutujat kasutatakse skriptis tunni, minuti, sekundi ja loenduri muutmiseks initsialiseerimiseks, et määrata ajaloenduri algusaeg. Siin ootab unerežiimi () funktsioon igas tsükli iteratsioonis üks sekund ja prindib seejärel ajaloenduri väärtuse.

#!/ usr / bin / env python3
# Impordi kuupäevaaja moodul
impordi kuupäev
# Importimoodul
impordiaeg
# Impordi sys moodul
impordi süsteem
 
# Võtke loendamiseks sekundite arv
taimer = int (sisend ("Määrake loenduri väärtus sekundites:"))
# Initsialiseeri aeg ja loenduri väärtus 0-ks
tund = minut = sekund = loendur = 0
 
# Printige taimerite algväärtus
print (kuupäevaaeg.aeg (tund, minut, sekund))
proovige:
# Määrake lõpmatu silmus
tõsi:
 
# Viivitus 1 sekund
aeg.magama (1)
# Kasvuloendur 1 võrra
loendur = loendur + 1
# Suurendage sekundit 1 võrra
teine ​​= teine ​​+ 1
# Prindi praegune taimeri väärtus
print (kuupäevaaeg.aeg (tund, minut, sekund))
# Kui teine ​​väärtus on suurem kui 60, määrake teiseks väärtuseks 0
kui teine> 60:
minut = minut + 1
teine ​​= 0
# Määrake minuti väärtuseks 0, kui väärtus on üle 60
kui minut> 60:
tund = tund + 1
minut = 0
# Lõpeta silmus, kui loenduri väärtus on võrdne taimeri väärtusega
kui loendur == taimer:
print ("Aeg on lõppenud.")
murda
välja arvatud KeyboardInterrupt:
# Katkestage skript, kui vajutate klahve Ctrl + C
sys.väljumine

Väljund

Pärast skripti käivitamist ilmub järgmine väljund.

Näide 3: printige stringi iga märk viivitusega

Kui soovite teksti iga märki väljundis viivitada, saate skripti rakendada funktsiooni sleep (). Sarnane ülesanne on näidatud järgmises skriptis. Siin võetakse sisendiks teksti väärtus. Teksti iga tähemärki itereeritakse silmusega ja funktsioon ootab 0.4 sekundit enne printimist.

#!/ usr / bin / env python3
# impordiaja moodul
impordiaeg
 
# Võtke stringi väärtus
nimi = sisestus ("Sisestage oma nimi:")
# Kordage silmus, et lugeda stringist iga tähemärki
val nimel:
# Prindi iga märk ilma uue reata
print (val, end = ")
# Oota 0.4 sekundit pärast iga märgi printimist
aeg.uni (0.4)

Väljund

Käivitage skript. Pärast skripti käivitamist saate väljundist õigesti aru.

Näide 4: Sleep () kasutamine mitmekeermelises skriptis

Järgmine näide näitab funktsiooni sleep () kasutamist mitmekeermelises Pythoni skriptis. Siia imporditakse kaks moodulit: ajamoodul funktsiooni sleep () kasutamiseks ja keermestusmoodul mitme lõime loomiseks. Skriptis kasutatakse kahte kohandatud funktsiooni. Tekstsõnum prinditakse ja oodatakse 0.5 sekundi jooksul kolm korda for-silmus, kui esimene lõng algab. Tekstsõnum prinditakse ja oodatakse 1 kui teine ​​lõng algab, sekundeerige neli korda forsilmus sees.

#!/ usr / bin / env python3
# impordiaja moodul
impordiaeg
# Impordi keermestamise moodul
impordi keermestamine
 
# Määratlege esimese lõime funktsioon
def prn_message_1 ():
n jaoks vahemikus (3):
print ("Sõnumi prindi lõime 1")
aeg.uni (0.5)
 
# Määratlege teise lõime funktsioon
def prn_message_2 ():
n jaoks vahemikus (4):
print ("Sõnumi prindi lõime 2")
aeg.magama (1)
 
# Määrake esimese lõime funktsioon
thread1 = keermestamine.Lõng (target = prn_message_1)
# Käivitage esimese lõime funktsioon
niit1.algus ()
# Määrake teise lõime funktsioon
thread2 = keermestamine.Lõng (target = prn_message_2)
# Käivitage teise lõime funktsioon
niit2.algus ()

Väljund

Pärast skripti käivitamist ilmub järgmine väljund. Pärast esimese lõime alustamist algab teine ​​lõng ja oodake 1 sekund kuni lõpuni. Selle aja jooksul on esimese lõime silmus lõpetanud kaks viimast kordust. Kolm viimast väljundit on ilmunud teise lõime silmuse jaoks.

Järeldus

Funktsiooni sleep () kasutatakse paljude erinevate ajaga seotud probleemide lahendamiseks Pythonis. Selle meetodi erinevaid kasutusviise selgitatakse siin väga lihtsate näidete abil, mis aitavad lugejal selle tööriista funktsioone tunda. Usun, et teie või mõni teine ​​Pythoni kasutaja saab seda meetodit pärast selles õpetuses sisalduvate näidete harjutamist korralikult kasutada.

Kuidas mängu Linuxis arendada
Kümme aastat tagasi ei osanud paljud Linuxi kasutajad ennustada, et nende lemmikoperatsioonisüsteem on ühel päeval populaarne kommertsvideomängude män...
Kommertsmängumootorite avatud lähtekoodiga sadamad
Tasuta, avatud lähtekoodiga ja platvormidevaheliste mängumootorite puhkusereise saab kasutada nii vanade kui ka mõnede üsna hiljutiste mängude pealkir...
Parimad Linuxi käsurea mängud
Käsurida pole Linuxi kasutamisel lihtsalt teie suurim liitlane - see võib olla ka meelelahutusallikas, sest saate seda kasutada paljude lõbusate mängu...