Python

Ved hjelp av Python-søvn () -metoden

Ved hjelp av Python-søvn () -metoden
Hvis du vil angi en tidsforsinkelse før du utfører et skript, kan du bruke søvn() funksjon som er innebygd i Python. Denne metoden eksisterer under tid modul. Generelt brukes sleep () -funksjonen til å stoppe kjøringen av programmet for den angitte tidsperioden (i sekunder). Hvis du for eksempel laster ned en fil fra et sted ved hjelp av et skript som kan kreve en viss tidsperiode, kan du bruke sleep () -metoden til å informere brukeren om å vente. Denne opplæringen viser deg noen av de forskjellige bruksområdene for sleep () -funksjonen i Python 3.

Syntaks

Følgende eksempel viser enkel bruk av sleep () -funksjonen for å stoppe programutførelsen midt i skriptet i en viss periode. Skriptet vil lese og skrive ut gjeldende systemtidsverdi, vente i 5 sekunder under sleep () -funksjonen, og igjen lese og skrive ut gjeldende systemtid. Her brukes localtime () og time () -funksjoner til å lese gjeldende systemdato og -tid, og strftime () -funksjonen brukes til å skrive ut den formaterte tiden.

#!/ usr / bin / env python3
# Importer tidsmodul
importtid
 
# Les gjeldende dato og klokkeslett
nå = tid.lokaltid (tid.tid())
 
# Starttid for utskrift
skriv ut (tid.strftime ("Starttiden:% H:% M:% S", nå))
 
# Vent i 5 sekunder
skriv ut ("Venter i 5 sekunder ...")
tid.sove (5)
 
# Les gjeldende dato og klokkeslett
nå = tid.lokaltid (tid.tid())
 
# Skriv ut sluttid
skriv ut (tid.strftime ("Sluttiden:% H:% M:% S", nå))

Produksjon

Følgende utdata vises når du har kjørt ovenstående skript. Utgangen viser at varigheten mellom starttid og sluttid er 5 sekunder ved bruk av sleep () -funksjonen.

Eksempel 2: Opprett en tidteller ved hjelp av søvn ()

Følgende eksempel viser hvordan du enkelt kan lage en tidsteller via sleep () -metoden. Skriptet vil ta et antall i sekunder å initialisere tidstellervariabelen.  Tre moduler importeres hit. De dato tid modulen importeres for å angi den innledende tidsverdien. De tid modulen importeres for å bruke sleep () -funksjonen. De sys modulen brukes til å avslutte den uendelige mens sløyfen når tellerverdien er lik tidstellerverdien. Fire variabler brukes i skriptet for å initialisere time-, minutt-, sekund- og tellervariablene for å angi starttidspunktet for tidstelleren. Her vil sleep () -funksjonen vente ett sekund i hver iterasjon av sløyfen og deretter skrive ut tidstellerverdien.

#!/ usr / bin / env python3
# Importer datetime-modul
importer datatid
# Importer tidsmodul
importtid
# Importer sys-modul
importer sys
 
# Ta antall sekunder å telle
timer = int (input ("Still tellerverdien i sekunder:"))
# Initier tid og motverdi til 0
time = minutt = sekund = teller = 0
 
# Skriv ut starttidsverdien
skriv ut (datetime.tid (time, minutt, sekund))
prøve:
# Definer uendelig løkke
mens det er sant:
 
# Forsink i 1 sekund
tid.sove (1)
# Inkrement teller med 1
teller = teller + 1
# Øk sekund med 1
andre = andre + 1
# Skriv ut gjeldende timerverdi
skriv ut (datetime.tid (time, minutt, sekund))
# Sett den andre verdien til 0 når verdien er mer enn 60
hvis andre> 60:
minutt = minutt + 1
sekund = 0
# Sett minuttverdien til 0 når verdien er mer enn 60
hvis minutt> 60:
time = time + 1
minutt = 0
# Avslutt sløyfen når tellerverdien er lik tidverdien
hvis teller == timer:
utskrift ("Tiden er ferdig.")
gå i stykker
unntatt KeyboardInterrupt:
# Avslutt skriptet når du trykker på Ctrl + C
sys.exit

Produksjon

Følgende utdata vises etter kjøring av skriptet.

Eksempel 3: Skriv ut hver karakter av en streng med en forsinkelse

Hvis du vil vise hvert tegn i en tekst med en viss forsinkelse i utdataene, kan du bruke sleep () -funksjonen i skriptet. En lignende oppgave vises i følgende skript. Her blir en tekstverdi tatt som inndata. Hvert tegn i teksten gjentas ved hjelp av løkken, og funksjonen venter på 0.4 sekunder før utskrift.

#!/ usr / bin / env python3
# importtidsmodul
importtid
 
# Ta en strengverdi
name = input ("Skriv inn navnet ditt:")
# Iterer løkken for å lese hvert tegn fra strengen
for val i navn:
# Skriv ut hvert tegn uten ny linje
skriv ut (val, end = ")
# Vent på 0.4 sekunder etter utskrift av hvert tegn
tid.sove (0.4)

Produksjon

Kjør skriptet. Du vil forstå utdataene ordentlig etter at du har kjørt skriptet.

Eksempel 4: Bruk av søvn () i flertrådet skript

Følgende eksempel viser bruken av sleep () -funksjonen i Python-skriptet med flere tråder. Her importeres to moduler: tidsmodulen for bruk av sleep () -funksjonen og threading-modulen for å lage flere tråder. To egendefinerte funksjoner brukes i skriptet. En tekstmelding blir skrevet ut og ventet på 0.5 sekunder tre ganger inne i forløkken når den første tråden starter. En tekstmelding blir skrevet ut og ventet på 1 sekund i fire ganger inne i forløkken når den andre tråden starter.

#!/ usr / bin / env python3
# importtid modul
importtid
# Importer trådmodul
importer tråder
 
# Definer den første trådfunksjonen
def prn_message_1 ():
for n i rekkevidde (3):
skriv ut ("Skriv ut tråd 1-melding")
tid.sove (0.5)
 
# Definer den andre trådfunksjonen
def prn_message_2 ():
for n i rekkevidde (4):
skriv ut ("Skriv ut tråd 2-melding")
tid.sove (1)
 
# Still inn den første trådfunksjonen
tråd1 = tråding.Tråd (mål = prn_message_1)
# Start den første trådfunksjonen
tråd 1.start()
# Still inn den andre trådfunksjonen
tråd2 = tråding.Tråd (mål = prn_message_2)
# Start den andre trådfunksjonen
tråd2.start()

Produksjon

Følgende utdata vises etter kjøring av skriptet. Etter at du har startet den første tråden, begynner den andre tråden og venter til den er ferdig i 1 sekund. I løpet av denne tiden er løkken til den første tråden fullført de to siste iterasjonene. De tre siste utgangene har dukket opp for løkken til den andre tråden.

Konklusjon

Sleep () -funksjonen brukes til å løse mange forskjellige typer tidsrelaterte problemer i Python. Ulike bruksområder for denne metoden forklares ved å bruke veldig enkle eksempler her for å hjelpe leseren til å kjenne funksjonene til dette verktøyet. Jeg tror at du eller andre Python-brukere vil være i stand til å bruke denne metoden riktig etter å ha praktisert eksemplene som er inkludert i denne opplæringen.

Hvordan bruke GameConqueror Cheat Engine i Linux
Artikkelen dekker en guide om bruk av GameConqueror-juksemotoren i Linux. Mange brukere som spiller spill på Windows bruker ofte "Cheat Engine" -appli...
Beste spillkonsollemulatorer for Linux
Denne artikkelen vil liste opp populære programvare for spillkonsollemulering tilgjengelig for Linux. Emulation er et programvarekompatibilitetslag so...
Beste Linux Distros for spill i 2021
Linux-operativsystemet har kommet langt fra det originale, enkle, serverbaserte utseendet. Dette operativsystemet har forbedret seg enormt de siste år...