Python

De Python sleep()-methode gebruiken

De Python sleep()-methode gebruiken
Als u een vertraging wilt instellen voordat een script wordt uitgevoerd, kunt u de slaap() functie die in Python is ingebouwd. Deze methode bestaat onder de tijd module. Over het algemeen wordt de functie sleep() gebruikt om de uitvoering van het programma te stoppen voor de opgegeven tijdsperiode (in seconden). Als u bijvoorbeeld een bestand van een locatie downloadt met behulp van een script dat een bepaalde tijdsperiode nodig heeft, kunt u de sleep()-methode gebruiken om de gebruiker te informeren om te wachten. Deze tutorial laat je enkele van de verschillende toepassingen van de sleep()-functie in Python 3 zien.

Syntaxis

Het volgende voorbeeld toont het eenvoudige gebruik van de functie sleep() om de uitvoering van het programma in het midden van het script voor een bepaalde periode te stoppen. Het script zal de huidige systeemtijdwaarde lezen en afdrukken, 5 seconden wachten onder de slaap()-functie en opnieuw de huidige systeemtijd lezen en afdrukken. Hier worden de functies localtime() en time() gebruikt voor het lezen van de huidige systeemdatum en -tijd, en de functie strftime() wordt gebruikt om de geformatteerde tijd af te drukken.

#!/usr/bin/env python3
# Tijdmodule importeren
import tijd
 
# Lees de huidige datum en tijd
nu = tijd.lokale tijd (tijd).tijd())
 
# Starttijd afdrukken
afdrukken (tijd).strftime("De starttijd: %H:%M:%S",nu))
 
# Wacht 5 seconden
print("Wacht 5 seconden... ")
tijd.slapen(5)
 
# Lees de huidige datum en tijd
nu = tijd.lokale tijd (tijd).tijd())
 
# Eindtijd afdrukken
afdrukken (tijd).strftime("De eindtijd: %H:%M:%S",nu))

Uitgang:

De volgende uitvoer zal verschijnen na het uitvoeren van het bovenstaande script:. De uitvoer laat zien dat de duur tussen de starttijd en de eindtijd 5 seconden is, met behulp van de slaap()-functie.

Voorbeeld 2: maak een tijdteller met sleep()

Het volgende voorbeeld laat zien hoe u eenvoudig een tijdteller kunt maken via de sleep()-methode. Het script heeft een aantal seconden nodig om de variabele tijdteller te initialiseren.  Hier worden drie modules geïmporteerd. De datum Tijd module wordt geïmporteerd om de initiële tijdwaarde in te stellen. De tijd module wordt geïmporteerd om de functie slaap() te gebruiken. De sys module wordt gebruikt om de oneindige while-lus te beëindigen wanneer de tellerwaarde gelijk is aan de tijdtellerwaarde. Vier variabelen worden in het script gebruikt om de uren, minuten, seconden en tellervariabelen te initialiseren om de starttijd van de tijdteller in te stellen. Hier wacht de functie sleep() één seconde in elke iteratie van de lus en drukt vervolgens de tijdtellerwaarde af.

#!/usr/bin/env python3
# Datum/tijd-module importeren
datum/tijd importeren
# Tijdmodule importeren
import tijd
# Systeemmodule importeren
import systeem
 
# Neem het aantal seconden om te tellen
timer = int(input("Stel de tellerwaarde in seconden in: "))
# Initialiseer tijd en tellerwaarde op 0
uur = minuut = seconde = teller = 0
 
# Druk de starttimerwaarde af
print(datum/tijd).tijd (uur, minuut, seconde))
proberen:
# Definieer oneindige lus
terwijl waar:
 
# Vertraging voor 1 seconde
tijd.slapen(1)
# Verhoog de teller met 1
teller = teller + 1
# Verhogen seconde met 1
seconde = tweede + 1
# Druk de huidige timerwaarde af
print(datum/tijd).tijd (uur, minuut, seconde))
# Stel de tweede waarde in op 0 wanneer de waarde hoger is dan 60
indien tweede > 60:
minuut = minuut + 1
seconde = 0
# Stel de minuutwaarde in op 0 wanneer de waarde hoger is dan 60
indien minuut > 60:
uur = uur + 1
minuut = 0
# Beëindig de lus wanneer de tellerwaarde gelijk is aan de timerwaarde
als teller == timer:
print("Tijd afgelopen.")
breken
behalve KeyboardInterrupt:
# Beëindig het script wanneer Ctrl+C wordt ingedrukt
sys.Uitgang

Uitgang:

De volgende uitvoer zal verschijnen na het uitvoeren van het script:.

Voorbeeld 3: Druk elk teken van een tekenreeks af met een vertraging

Als u elk teken van een tekst met enige vertraging in de uitvoer wilt weergeven, kunt u de functie sleep() in het script toepassen. Een vergelijkbare taak wordt getoond in het volgende script:. Hier wordt een tekstwaarde als invoer genomen. Elk teken van de tekst wordt herhaald met behulp van de lus en de functie wacht op 0.4 seconden voor het afdrukken.

#!/usr/bin/env python3
# importeer tijdmodule
import tijd
 
# Neem een ​​tekenreekswaarde
name = input("Vul uw naam in: ")
# Herhaal de lus om elk teken uit de tekenreeks te lezen
voor val in naam:
# Print elk karakter zonder nieuwe regel
print(val, end = ")
# Wacht op 0.4 seconden na het afdrukken van elk teken
tijd.slaap (0.4)

Uitgang:

Voer het script uit. U zult de uitvoer goed begrijpen nadat u het script heeft uitgevoerd.

Voorbeeld 4: Gebruik van sleep() in multi-threaded script

Het volgende voorbeeld toont het gebruik van de functie sleep() in het Python-script met meerdere threads. Hier worden twee modules geïmporteerd: de tijdmodule voor het gebruik van de slaap()-functie en de threading-module voor het maken van meerdere threads. In het script worden twee aangepaste functies gebruikt:. Er wordt een sms-bericht afgedrukt en wacht op 0.5 seconden drie keer binnen de for-lus wanneer de eerste thread begint. Er wordt een sms-bericht afgedrukt en wacht op 1 tweede voor vier keer binnen de for-lus wanneer de tweede thread begint.

#!/usr/bin/env python3
# importeer tijdmodule
import tijd
# Importeer de draadsnijmodule
draadsnijden importeren
 
# Definieer de eerste draadfunctie
def prn_message_1():
voor n in bereik (3):
print("Print thread 1 bericht")
tijd.slaap (0.5)
 
# Definieer de tweede draadfunctie
def prn_message_2():
voor n in bereik (4):
print ("Print thread 2 bericht")
tijd.slapen(1)
 
# Stel de eerste draadfunctie in
draad1 = draadsnijden.Discussie (target=prn_message_1)
# Start de eerste draadfunctie
draad1.begin()
# Stel de tweede draadfunctie in
draad2 = draadsnijden.Discussie (target=prn_message_2)
# Start de tweede draadfunctie
draad2.begin()

Uitgang:

De volgende uitvoer zal verschijnen na het uitvoeren van het script:. Nadat de eerste thread is gestart, begint de tweede thread en wacht u 1 seconde tot deze is voltooid. Gedurende deze tijd is de lus van de eerste thread voltooid in de laatste twee iteraties. De laatste drie uitgangen zijn verschenen voor de lus van de tweede thread.

Conclusie

De functie sleep() wordt gebruikt om veel verschillende soorten tijdgerelateerde problemen in Python op te lossen. Verschillende toepassingen van deze methode worden uitgelegd aan de hand van zeer eenvoudige voorbeelden hier om de lezer te helpen de functies van deze tool te leren kennen. Ik geloof dat jij of elke andere Python-gebruiker in staat zal zijn om deze methode correct te gebruiken na het oefenen van de voorbeelden in deze tutorial.

Top Oculus App Lab-games
Als je eigenaar bent van een Oculus-headset, moet je op de hoogte zijn van sideloading. Sideloading is het proces van het installeren van niet-winkeli...
Top 10 spellen om te spelen op Ubuntu
Het Windows-platform is een van de dominante platforms voor gaming geweest vanwege het enorme percentage games dat tegenwoordig wordt ontwikkeld om Wi...
5 beste arcade-spellen voor Linux
Tegenwoordig zijn computers serieuze machines die worden gebruikt om te gamen. Als je de nieuwe hoge score niet kunt halen, weet je wat ik bedoel. In ...