Python time sleep
Die Python time sleep Funktion wird verwendet, um Verzögerungen in der Ausführung eines Programms hinzuzufügen. Wir können die Python sleep Funktion verwenden, um die Ausführung des Programms für eine bestimmte Zeit in Sekunden anzuhalten. Beachten Sie, dass die Python time sleep Funktion tatsächlich die Ausführung des aktuellen Threads anhält, nicht das gesamte Programm.
Python time sleep() Funktionssyntax
Python sleep() ist eine Methode des Python time Moduls. Daher müssen wir zuerst das time Modul importieren, bevor wir diese Methode verwenden können.
Hier ist das Argument der sleep() Methode t in Sekunden. Das bedeutet, wenn die Anweisung time.sleep(t) ausgeführt wird, wird die nächste Codezeile erst nach t Sekunden ausgeführt. Sehen Sie das folgende Beispiel:
# importing time module
import time
print("Before the sleep statement")
time.sleep(5)
print("After the sleep statement")
Wenn Sie den obigen Code ausführen, werden Sie sehen, dass der zweite Print-Befehl nach 5 Sekunden ausgeführt wird. So können Sie bei Bedarf Verzögerungen in Ihrem Code einbauen. Das Argument kann auch einen Fließkommawert haben, um eine genauere Verzögerung zu erzielen. Zum Beispiel, wenn Sie eine Verzögerung von 100 Millisekunden, also 0,1 Sekunden, wie folgt machen möchten:
import time
time.sleep(0.100)
Python sleep Beispiel
Sehen wir uns das folgende Beispiel der Python time sleep Funktion an.
import time
startTime = time.time()
for i in range(0,5):
print(i)
# making delay for 1 second
time.sleep(1)
endTime = time.time()
elapsedTime = endTime - startTime
print("Elapsed Time = %s" % elapsedTime)
Das wird folgenden Output erzeugen:
0
1
2
3
4
Elapsed Time = 5.059988975524902
Die verstrichene Zeit ist länger als 5 Sekunden, da bei jedem Durchlauf in der for-Schleife die Ausführung für 1 Sekunde angehalten wird. Die zusätzliche Zeit ist auf die Ausführungszeit des Programms, die Thread-Planung des Betriebssystems usw. zurückzuführen.
Unterschiedliche Verzögerungszeiten mit Python sleep()
Manchmal benötigen Sie vielleicht unterschiedliche Verzögerungszeiten. Sie können dies wie folgt tun:
import time
for i in [ .5, .1, 1, 2]:
print("Waiting for %s" % i , end='')
print(" seconds")
time.sleep(i)
Dies wird folgenden Output erzeugen:
Waiting for 0.5 seconds
Waiting for 0.1 seconds
Waiting for 1 seconds
Waiting for 2 seconds
Dramatisches Drucken mit sleep()
Vielleicht möchten Sie eine Nachricht auf dramatische Weise drucken, dies können Sie wie folgt tun:
# importing time module
import time
message = "Hi!!! I am trying to create suspense"
for i in message:
# printing each character of the message
print(i)
time.sleep(0.3)
Wenn Sie den obigen Code ausführen, werden Sie sehen, dass nach dem Drucken jedes Zeichens der Nachricht etwas Zeit vergeht, was dramatisch wirkt.
Python Thread Sleep
Die Python time sleep() Funktion ist eine sehr wichtige Methode für Multithreading. Unten ist ein einfaches Beispiel, das zeigt, dass die Python time sleep Funktion nur die Ausführung des aktuellen Threads in der multithreaded Programmierung anhält.
import time
from threading import Thread
class Worker(Thread):
def run(self):
for x in range(0, 11):
print(x)
time.sleep(1)
class Waiter(Thread):
def run(self):
for x in range(100, 103):
print(x)
time.sleep(5)
print("Staring Worker Thread")
Worker().start()
print("Starting Waiter Thread")
Waiter().start()
print("Done")
Aus dem Output wird sehr deutlich, dass nur die Threads von der Ausführung gestoppt werden und nicht das gesamte Programm durch die Python time sleep Funktion. Das ist alles zur Python time sleep Funktion oder Python sleep Funktion.