Bruke Python Sleep Method

Bruke Python Sleep Method
Hvis du vil angi en tidsforsinkelse før du utfører noe skript, kan du bruke sove() funksjon som er innebygd i Python. Denne metoden eksisterer under tid modul. Generelt brukes søvn () -funksjonen for å stoppe utførelsen av programmet for den gitte tidsperioden (på 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 for å informere brukeren om å vente. Denne opplæringen vil vise deg noen av de forskjellige bruken av søvn () -funksjonen i Python 3.

Syntaks

Følgende eksempel viser enkel bruk av søvn () -funksjonen for å stoppe utførelsen av programmet midt i skriptet i en viss periode. Skriptet vil lese og skrive ut gjeldende system for systemets tid, vent i 5 sekunder under søvn () -funksjonen, og les og skriv igjen 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
Importer tid
# Les gjeldende dato og klokkeslett
nå = tid.Lokaletid (tid.tid())
# Skriv ut starttid
trykk (tid.StrfTime ("Starttiden:%H:%M:%S", nå))
# Vent i 5 sekunder
trykk ("Venter i 5 sekunder ...")
tid.søvn (5)
# Les gjeldende dato og klokkeslett
nå = tid.Lokaletid (tid.tid())
# Skriv ut sluttid
trykk (tid.STRFTIME ("The End Time:%H:%M:%S", nå))

Produksjon

Følgende utgang vises etter å ha kjørt ovennevnte skript. Utgangen viser at varigheten mellom starttid og slutttid er 5 sekunder, ved bruk av søvn () -funksjonen.

Eksempel 2: Lag en tidsteller ved hjelp av søvn ()

Følgende eksempel viser hvordan du enkelt kan lage en tidsteller via Sleep () -metoden. Skriptet vil ta et tall på sekunder for å initialisere tidstellervariabelen. Tre moduler importeres her. De dato tid Modulen importeres for å angi den første tidsverdien. De tid Modulen importeres for å bruke søvn () -funksjonen. De sys Modul brukes til å avslutte det uendelige mens du er sløyfe når tellerverdien tilsvarer tidstellerverdien. Fire variabler brukes i skriptet for å initialisere timen, minutt, andre og motvariabler for å stille inn starttiden for tidstelleren. Her vil søvn- () -funksjonen vente i ett sekund i hver iterasjon av løkken og deretter skrive ut tids tellerverdien.

#!/usr/bin/env python3
# Importer DateTime Module
Importer DateTime
# Importer tidsmodul
Importer tid
# Importer SYS -modul
Importer Sys
# Ta antall sekunder å telle
Timer = int (input ("Angi tellerverdien på sekunder:"))
# Initialiser tid og motverdi til 0
time = minutt = sekund = teller = 0
# Skriv ut starttimerverdien
trykk (DateTime.Tid (time, minutt, sekund))
prøve:
# Definer uendelig sløyfe
Mens sant:
# Forsinkelse i 1 sekund
tid.søvn (1)
# Økningsteller med 1
teller = teller + 1
# Økning andre med 1
sekund = sekund + 1
# Skriv ut gjeldende timerverdi
trykk (DateTime.Tid (time, minutt, sekund))
# Angi den andre verdien til 0 når verdien er mer enn 60
Hvis andre> 60:
minutt = minutt + 1
andre = 0
# Angi 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 tidsverdien
Hvis counter == Timer:
trykk ("Tiden ferdig.")
gå i stykker
unntatt tastaturinterrupt:
# Avslutt skriptet når Ctrl+C trykkes
sys.exit

Produksjon

Følgende utgang vises etter å ha kjørt skriptet.

Eksempel 3: Skriv ut hvert tegn på en streng med en forsinkelse

Hvis du vil vise hvert tegn på en tekst med en viss forsinkelse i utgangen, kan du bruke søvn () -funksjonen i skriptet. En lignende oppgave vises i følgende skript. Her tas en tekstverdi som inngangen. Hvert tegn på teksten er iterert ved hjelp av sløyfen, og funksjonen vil vente på 0.4 sekunder før du skriver ut.

#!/usr/bin/env python3
# Importer tidsmodul
Importer tid
# Ta en strengverdi
Navn = input ("Skriv inn navnet ditt:")
# Itererer sløyfen for å lese hvert tegn fra strengen
for val i navn:
# Skriv ut hvert tegn uten Newline
trykk (val, end = ")
# Vent til 0.4 sekunder etter å ha skrevet ut hvert tegn
tid.søvn (0.4)

Produksjon

Kjør manuset. Du vil forstå utdataene ordentlig etter å ha kjørt skriptet.

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

Følgende eksempel viser bruken av søvn- () -funksjonen i det multitheadede Python-skriptet. To moduler importeres her: Tidsmodulen for bruk av søvn- () -funksjonen og trådmodulen for å lage flere tråder. To tilpassede funksjoner brukes i skriptet. En tekstmelding vil skrive ut og vente på 0.5 sekunder for tre ganger inne i for -loopen når den første tråden starter. En tekstmelding vil skrive ut og vente på 1 For det andre i fire ganger inne i for -sløyfen når den andre tråden starter.

#!/usr/bin/env python3
# Importer tidsmodul
Importer tid
# Importer trådmodul
Importer gjenging
# Definer den første trådfunksjonen
def Prn_Message_1 ():
for n i rekkevidde (3):
Print ("Print Thread 1 Message")
tid.søvn (0.5)
# Definer den andre trådfunksjonen
def prn_message_2 ():
for n i rekkevidde (4):
Print ("Print Thread 2 Message")
tid.søvn (1)
# Angi den første trådfunksjonen
Tråd1 = Gjenging.Tråd (Target = PRN_Message_1)
# Start den første trådfunksjonen
Tråd1.start()
# Angi den andre trådfunksjonen
Tråd2 = Gjenging.Tråd (Target = PRN_Message_2)
# Start den andre trådfunksjonen
Tråd2.start()

Produksjon

Følgende utgang vises etter å ha kjørt skriptet. Etter å ha startet den første tråden, begynner den andre tråden og vent til fullføringen i 1 sekund. I løpet av denne tiden er sløyfen til den første tråden fullført de to siste iterasjonene. De tre siste utgangene har dukket opp for sløyfen 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 å kjenne funksjonene til dette verktøyet. Jeg tror at du eller noen annen Python -bruker vil kunne bruke denne metoden riktig etter å ha praktisert eksemplene som er inkludert i denne opplæringen.