Pytonorm

Med Python-sömn () -metoden

Med Python-sömn () -metoden
Om du vill ställa in en tidsfördröjning innan du kör något skript kan du använda sova() funktion som är inbyggd i Python. Denna metod finns under tid modul. Generellt används sleep () -funktionen för att stoppa körningen av programmet under den angivna tidsperioden (i sekunder). Om du till exempel laddar ner en fil från en plats med ett skript som kan kräva en viss tidsperiod kan du använda sleep () -metoden för att informera användaren att vänta. Denna handledning visar några av de olika användningsområdena för sleep () -funktionen i Python 3.

Syntax

Följande exempel visar den enkla användningen av sleep () -funktionen för att stoppa programkörningen mitt i skriptet under en viss period. Skriptet läser och skriver ut det aktuella systemets tidsvärde, väntar i 5 sekunder under sleep () -funktionen och läser igen och skriver ut den aktuella systemtiden. Här används funktionerna localtime () och time () för att läsa det aktuella systemdatum och -tid, och funktionen strftime () används för att skriva ut den formaterade tiden.

#!/ usr / bin / env python3
# Importera tidsmodul
importtid
 
# Läs aktuellt datum och tid
nu = tid.lokal tid (tid.tid())
 
# Starttid för utskrift
skriva ut (tid.strftime ("Starttiden:% H:% M:% S", nu))
 
# Vänta i 5 sekunder
skriva ut ("Väntar i 5 sekunder ...")
tid.sova (5)
 
# Läs aktuellt datum och tid
nu = tid.lokal tid (tid.tid())
 
# Skriv ut sluttid
skriva ut (tid.strftime ("Sluttiden:% H:% M:% S", nu))

Produktion

Följande utdata visas efter att ovanstående skript har körts. Utgången visar att varaktigheten mellan starttiden och sluttiden är 5 sekunder, med funktionen sleep ().

Exempel 2: Skapa en tidsräknare med sömn ()

Följande exempel visar hur man enkelt skapar en tidsräknare via sleep () -metoden. Skriptet tar ett antal i sekunder för att initiera tidsräknarvariabeln.  Här importeras tre moduler. De datum Tid modulen importeras för att ställa in det initiala tidsvärdet. De tid modulen importeras för att använda sleep () -funktionen. De sys modulen används för att avsluta det oändliga medan slingan när räknarvärdet är lika med tidsräknarvärdet. Fyra variabler används i skriptet för att initialisera variablerna timme, minut, sekund och räknare för att ställa in tid för räknaren. Här väntar sleep () -funktionen i en sekund i varje iteration av slingan och skriver sedan ut tidräknarvärdet.

#!/ usr / bin / env python3
# Importera datetime-modul
importera datatid
# Importera tidsmodul
importtid
# Importera sys-modul
importera sys
 
# Ta antalet sekunder att räkna
timer = int (input ("Ställ in räknarvärdet i sekunder:"))
# Initiera tid och räknarvärde till 0
timme = minut = sekund = räknare = 0
 
# Skriv ut starttimervärdet
skriv ut (datetime.tid (timme, minut, sekund))
Prova:
# Definiera oändlig slinga
medan det är sant:
 
# Fördröj i 1 sekund
tid.sova (1)
# Ökningsräknare med 1
räknare = räknare + 1
# Öka sekunden med 1
sekund = sekund + 1
# Skriv ut det aktuella timervärdet
skriv ut (datetime.tid (timme, minut, sekund))
# Ställ in det andra värdet till 0 när värdet är mer än 60
om andra> 60:
minut = minut + 1
sekund = 0
# Ställ in minutvärdet till 0 när värdet är mer än 60
om minut> 60:
timme = timme + 1
minut = 0
# Avsluta slingan när räknarvärdet är lika med timervärdet
if counter == timer:
skriva ut ("Tid avslutad.")
ha sönder
utom KeyboardInterrupt:
# Avsluta skriptet när du trycker på Ctrl + C
sys.utgång

Produktion

Följande utdata visas efter körning av skriptet.

Exempel 3: Skriv ut varje karaktär av en sträng med en fördröjning

Om du vill visa varje tecken i en text med viss fördröjning i utdata, kan du använda sleep () -funktionen i skriptet. En liknande uppgift visas i följande skript. Här tas ett textvärde som inmatning. Varje tecken i texten upprepas med slingan och funktionen väntar på 0.4 sekunder före utskrift.

#!/ usr / bin / env python3
# importtidsmodul
importtid
 
# Ta ett strängvärde
name = input ("Ange ditt namn:")
# Iterera slingan för att läsa varje tecken från strängen
för val i namn:
# Skriv ut varje tecken utan ny linje
skriva ut (val, end = ")
# Vänta på 0.4 sekunder efter utskrift av varje tecken
tid.sova (0.4)

Produktion

Kör manuset. Du förstår utmatningen ordentligt efter att man kört skriptet.

Exempel 4: Användning av sömn () i skript med flera trådar

Följande exempel visar användningen av sleep () -funktionen i Python-skriptet med flera trådar. Här importeras två moduler: tidsmodulen för att använda sleep () -funktionen och threading-modulen för att skapa flera trådar. Två anpassade funktioner används i skriptet. Ett textmeddelande skrivs ut och väntar på 0.5 sekunder tre gånger inuti for-slingan när den första tråden startar. Ett textmeddelande skrivs ut och väntar på 1 sekund fyra gånger inuti for-slingan när den andra tråden startar.

#!/ usr / bin / env python3
# importtidsmodul
importtid
# Importera trådmodul
importera trådning
 
# Definiera den första trådfunktionen
def prn_message_1 ():
för n inom intervallet (3):
skriv ut ("Skriv ut tråd 1-meddelande")
tid.sova (0.5)
 
# Definiera den andra trådfunktionen
def prn_message_2 ():
för n i intervall (4):
skriva ut ("Skriv ut tråd 2-meddelande")
tid.sova (1)
 
# Ställ in den första trådfunktionen
tråd1 = trådning.Tråd (target = prn_message_1)
# Starta den första trådfunktionen
tråd1.Start()
# Ställ in den andra trådfunktionen
tråd2 = trådning.Tråd (mål = prn_message_2)
# Starta den andra trådfunktionen
tråd2.Start()

Produktion

Följande utdata visas efter körning av skriptet. Efter att ha startat den första tråden börjar den andra tråden och väntar tills den är klar i 1 sekund. Under den här tiden har den första trådens slinga slutförts de två sista iterationerna. De sista tre utgångarna har dykt upp för den andra trådens slinga.

Slutsats

Sleep () -funktionen används för att lösa många olika typer av tidsrelaterade problem i Python. Olika användningar av denna metod förklaras med hjälp av mycket enkla exempel här för att hjälpa läsaren att känna till funktionerna i detta verktyg. Jag tror att du eller någon annan Python-användare kommer att kunna använda den här metoden ordentligt efter att ha övat på exemplen i denna handledning.

Hur man laddar ner och spelar Sid Meier's Civilization VI på Linux
Introduktion till spelet Civilization 6 är ett modernt intag av det klassiska konceptet som introducerades i serien Age of Empires-spel. Idén var gans...
Hur man installerar och spelar Doom på Linux
Introduktion till Doom Doom-serien har sitt ursprung på 90-talet efter att den ursprungliga Doom släpptes. Det blev en omedelbar hit och från den tide...
Vulkan för Linux-användare
Med varje ny generation grafikkort ser vi spelutvecklare driva gränserna för grafisk trohet och komma ett steg närmare fotorealism. Men trots all kred...