Python

Verwenden der Python-Methode sleep()

Verwenden der Python-Methode sleep()
Wenn Sie vor der Ausführung eines Skripts eine Zeitverzögerung festlegen möchten, können Sie die schlafen() Funktion, die in Python integriert ist. Diese Methode existiert unter dem Zeit Modul. Im Allgemeinen wird die Funktion sleep() verwendet, um die Ausführung des Programms für den angegebenen Zeitraum (in Sekunden) anzuhalten. Wenn Sie beispielsweise eine Datei von einem Speicherort mit einem Skript herunterladen, das eine bestimmte Zeit in Anspruch nehmen kann, können Sie den Benutzer mit der Methode sleep() anweisen, zu warten. Dieses Tutorial zeigt Ihnen einige der verschiedenen Verwendungen der sleep()-Funktion in Python 3.

Syntax

Das folgende Beispiel zeigt die einfache Verwendung der Funktion sleep(), um die Programmausführung mitten im Skript für einen bestimmten Zeitraum anzuhalten. Das Skript liest und druckt den aktuellen Systemzeitwert, wartet 5 Sekunden unter der Funktion sleep() und liest und druckt erneut die aktuelle Systemzeit. Hier werden die Funktionen localtime() und time() zum Lesen des aktuellen Systemdatums und der aktuellen Systemzeit verwendet und die Funktion strftime() zum Drucken der formatierten Zeit.

#!/usr/bin/env python3
# Zeitmodul importieren
Importzeit
 
# Lesen Sie das aktuelle Datum und die aktuelle Uhrzeit
jetzt = Zeit.Ortszeit (Uhrzeit).Zeit())
 
# Startzeit drucken
drucken (Zeit.strftime("Die Startzeit: %H:%M:%S",jetzt))
 
# 5 Sekunden warten
print("Warten auf 5 Sekunden…")
Zeit.schlafen(5)
 
# Lesen Sie das aktuelle Datum und die aktuelle Uhrzeit
jetzt = Zeit.Ortszeit (Uhrzeit).Zeit())
 
# Endzeit drucken
drucken (Zeit.strftime("Die Endzeit: %H:%M:%S",jetzt))

Ausgabe

Die folgende Ausgabe wird erscheinen, nachdem das obige Skript ausgeführt wurde. Die Ausgabe zeigt mit der Funktion sleep() an, dass die Dauer zwischen der Startzeit und der Endzeit 5 Sekunden beträgt.

Beispiel 2: Erstellen eines Zeitzählers mit sleep()

Das folgende Beispiel zeigt, wie Sie mit der Methode sleep() einfach einen Zeitzähler erstellen. Das Skript benötigt eine Zahl in Sekunden, um die Zeitzählervariable zu initialisieren.  Drei Module werden hier importiert. Das Terminzeit Modul wird importiert, um den anfänglichen Zeitwert einzustellen. Das Zeit Modul wird importiert, um die Funktion sleep() zu verwenden. Das sys Modul wird verwendet, um die unendliche while-Schleife zu beenden, wenn der Zählerwert dem Zeitzählerwert entspricht. Im Skript werden vier Variablen verwendet, um die Variablen Stunde, Minute, Sekunde und Zähler zu initialisieren, um die Startzeit des Zeitzählers einzustellen. Hier wartet die Funktion sleep() bei jeder Iteration der Schleife eine Sekunde und gibt dann den Zeitzählerwert aus.

#!/usr/bin/env python3
# Datetime-Modul importieren
Datum/Uhrzeit importieren
# Zeitmodul importieren
Importzeit
# sys-Modul importieren
Importsystem
 
# Nehmen Sie die Anzahl der Sekunden zum Zählen
timer = int(input("Zählerwert in Sekunden setzen :"))
# Zeit und Zählerwert auf 0 . initialisieren
Stunde = Minute = Sekunde = Zähler = 0
 
# Drucken Sie den Start-Timer-Wert
drucken (Datum/Uhrzeit).Zeit (Stunde, Minute, Sekunde))
Versuchen:
# Endlosschleife definieren
während Wahr:
 
# Verzögerung für 1 Sekunde
Zeit.schlafen(1)
# Zähler um 1 . erhöhen
Zähler = Zähler + 1
# Sekunde um 1 erhöhen
Sekunde = Sekunde + 1
# Aktuellen Timer-Wert ausdrucken
drucken (Datum/Uhrzeit).Zeit (Stunde, Minute, Sekunde))
# Setzen Sie den zweiten Wert auf 0, wenn der Wert mehr als 60 . beträgt
wenn Sekunde > 60:
Minute = Minute + 1
Sekunde = 0
# Setzen Sie den Minutenwert auf 0, wenn der Wert mehr als 60 . beträgt
wenn Minute > 60:
Stunde = Stunde + 1
Minute = 0
# Beende die Schleife, wenn der Zählerwert gleich dem Timerwert ist
wenn Zähler == Timer:
print("Zeit fertig.")
Unterbrechung
außer KeyboardInterrupt:
# Beende das Skript, wenn Strg+C gedrückt wird
sys.Ausfahrt

Ausgabe

Die folgende Ausgabe erscheint nach dem Ausführen des Skripts.

Beispiel 3: Jedes Zeichen einer Zeichenfolge mit einer Verzögerung drucken

Wenn Sie jedes Zeichen eines Textes mit einiger Verzögerung in der Ausgabe anzeigen möchten, können Sie die Funktion sleep() im Skript anwenden apply. Eine ähnliche Aufgabe wird im folgenden Skript gezeigt. Hier wird ein Textwert als Eingabe verwendet. Jedes Zeichen des Textes wird mit der Schleife iteriert und die Funktion wartet auf 0.4 Sekunden vor dem Drucken.

#!/usr/bin/env python3
# Zeitmodul importieren
Importzeit
 
# Nehmen Sie einen String-Wert
name = input("Geben Sie Ihren Namen ein:")
# Iteriere die Schleife, um jedes Zeichen aus der Zeichenfolge zu lesen
für Wert im Namen:
# Jedes Zeichen ohne Zeilenumbruch drucken
print(val, end = ")
# Warte auf 0.4 Sekunden nach dem Drucken jedes Zeichens
Zeit.schlafen(0.4)

Ausgabe

Führen Sie das Skript aus. Sie werden die Ausgabe richtig verstehen, nachdem Sie das Skript ausgeführt haben.

Beispiel 4: Verwendung von sleep() in Multi-Threaded-Skript

Das folgende Beispiel zeigt die Verwendung der Funktion sleep() im Multithread-Python-Skript. Hier werden zwei Module importiert: das Zeitmodul zur Verwendung der sleep()-Funktion und das Threading-Modul zum Erstellen mehrerer Threads. Im Skript werden zwei benutzerdefinierte Funktionen verwendet. Eine Textnachricht wird gedruckt und wartet auf 0.5 Sekunden dreimal in der for-Schleife, wenn der erste Thread beginnt. Eine Textnachricht wird gedruckt und wartet auf 1 viermal an zweiter Stelle in der for-Schleife, wenn der zweite Thread beginnt.

#!/usr/bin/env python3
# Zeitmodul importieren
Importzeit
# Threading-Modul importieren
Einfädeln importieren
 
# Definieren Sie die erste Thread-Funktion
def prn_message_1():
für n im Bereich (3):
print("Thread 1-Nachricht drucken")
Zeit.schlafen(0.5)
 
# Definieren Sie die zweite Thread-Funktion
def prn_message_2():
für n im Bereich (4):
print("Thread 2 Nachricht drucken")
Zeit.schlafen(1)
 
# Stellen Sie die erste Thread-Funktion ein
thread1 = einfädeln.Thema(target=prn_message_1)
# Starten Sie die erste Thread-Funktion
Faden1.Start()
# Stellen Sie die zweite Thread-Funktion ein
thread2 = einfädeln.Thread(target=prn_message_2)
# Zweite Thread-Funktion starten
Gewinde2.Start()

Ausgabe

Die folgende Ausgabe erscheint nach dem Ausführen des Skripts. Nach dem Starten des ersten Threads beginnt der zweite Thread und warten Sie 1 Sekunde bis zum Abschluss. Während dieser Zeit wird die Schleife des ersten Threads die letzten beiden Iterationen abgeschlossen. Die letzten drei Ausgaben sind für die Schleife des zweiten Threads erschienen.

Fazit

Die Funktion sleep() wird verwendet, um viele verschiedene Arten von zeitbezogenen Problemen in Python zu lösen. Verschiedene Anwendungen dieser Methode werden hier anhand von sehr einfachen Beispielen erklärt, um dem Leser die Funktionen dieses Tools näher zu bringen. Ich glaube, dass Sie oder jeder andere Python-Benutzer diese Methode richtig verwenden können, nachdem Sie die in diesem Tutorial enthaltenen Beispiele geübt haben.

So verwenden Sie die GameConqueror-Cheat-Engine unter Linux
Der Artikel enthält eine Anleitung zur Verwendung der GameConqueror-Cheat-Engine unter Linux. Viele Benutzer, die Spiele unter Windows spielen, verwen...
Beste Spielkonsolen-Emulatoren für Linux
Dieser Artikel listet beliebte Spielekonsolen-Emulationssoftware auf, die für Linux verfügbar ist. Emulation ist eine Softwarekompatibilitätsschicht, ...
Beste Linux-Distributionen für Gaming im Jahr 2021
Das Linux-Betriebssystem hat sich weit von seinem ursprünglichen, einfachen, serverbasierten Aussehen entfernt. Dieses Betriebssystem hat sich in den ...