Python sleep: So lassen Sie Programme pausieren

Python sleep ist eine Funktion, die es Ihnen erlaubt, ein Programm für einen Moment anzuhalten und dann unverändert weiterlaufen zu lassen. Mit diesem einfachen Befehl können Sie in der Internet-Programmiersprache beispielsweise Ausgaben timen, die Uhrzeit anzeigen, einen Countdown initiieren oder einen Wecker stellen.

Die kostenlose IONOS API

Aktualisieren Sie Domain-, DNS-, SSL-Einstellungen und mehr mit der IONOS API.

DNS-Management
SSL-Verwaltung
API-Dokumentation

Was ist Python sleep?

Mit Python sleep haben Sie die Möglichkeit, Ihr Programm für eine bestimmte Zeit zu pausieren und dann nach Ablauf dieser Wartefrist automatisch weiterlaufen zu lassen. Das gibt Nutzerinnen und Nutzern beispielsweise Zeit, sich eine Anweisung durchzulesen, oder erlaubt es Ihnen, einen eigenen digitalen Counter zu erstellen. Python sleep kann gemeinsam mit dem Modul time verwendet werden. Während der Aufbau und Einsatz von sleep relativ einfach ist, ermöglicht die Funktion in Zusammenarbeit mit Python-if-else-Anweisung, Python-while-Loops oder Python-for-Loops selbst komplizierte Abläufe. Abgesehen von der geplanten Verzögerung greift sleep anders als Python break und continue nicht in das Programm ein.

Syntax und Funktionsweise von Python sleep

Die Syntax von Python sleep sieht immer aus wie folgt:

time.sleep ( t )

t bezeichnet die veranschlagte Wartezeit und wird in den meisten Fällen in Sekunden angegeben.

Python sleep unterbricht in der Regel einen festgelegten Ablauf. Zunächst geben Sie also einen Befehl, fügen dann über Python sleep eine Unterbrechung mit einem bestimmten Zeitfenster ein und geben dann eine Anweisung, welche Aktion nach der Pause ausgeführt werden soll.

Zur Veranschaulichung bietet sich ein einfaches Beispiel an. In diesem Aufbau soll eine Zeile ausgegeben werden. Danach pausiert das Programm für fünf Sekunden und gibt dann eine zweite Zeile aus. Dies ist der entsprechende Code:

import time
print ( "Dieser Satz wird sofort ausgegeben." )
time.sleep ( 5 )
print ( "Dieser Satz wird fünf Sekunden später ausgegeben." )

Alternativ weisen Sie time.sleep den Wert x zu und erstellen so eine Wartezeit. Für eine Pause von genau einer Minute sieht der passende Code folgendermaßen aus:

import time
x = 60
time.sleep ( x )

Sie können die Wartezeit außerdem in Millisekunden angeben. Hierfür teilen Sie die Eingabe einfach durch 1.000. Das sieht ausgeschrieben so aus:

import time
print ( "Dieser Satz wird sofort ausgegeben." )
time.sleep ( 500/1000 )
print ( "Dieser Satz wird fünfhundert Millisekunden später ausgegeben." )

So erstellen Sie eine digitale Uhr mit Python sleep

Mit Hilfe einer herkömmlichen while-Schleife, die in den meisten Python-Tutorials bereits sehr früh behandelt wird, können Sie zusammen mit Python sleep eine digitale Uhr erstellen und die Funktion so auf eine ganz neue Weise verwenden. Dafür fragen Sie die aktuelle Uhrzeit ab und geben Sie im Format Stunde, Minuten, Sekunden aus. Durch Python sleep setzen Sie dann eine Verzögerung um genau eine Sekunde ein und befehlen dem Programm, die Schleife erneut zu durchlaufen. Wenn Sie die Loop ohne Endzeit weiterlaufen lassen, können Sie mit wenigen Schritten eine genaue digitale Uhr erstellen. Dies ist der passende Code:

import time
while true:
	localtime = time.localtime ( )
	result = time.strftime ( "%I : %M : %S %p", localtime )
	print ( result )
	time.sleep ( 1 )

Die Ausgabe wäre dann in diesem Fall die englische Zeitangabe und würde beispielsweise so aussehen:

04 : 16 : 47 PM
04 : 16 : 48 PM
04 : 16 : 49 PM
04 : 16 : 50 PM
04 : 16 : 51 PM

Wenn Sie keinen Endpunkt setzen, läuft diese Zeitangabe einfach durchgehend weiter.

Einen Timer erstellen

Auch als Timer eignet sich Python sleep hervorragend. Um beispielsweise fünf Minuten einzustellen, gehen Sie folgendermaßen vor:

import time
print "Hier geht es los : %s" % time.ctime ( )
time.sleep ( 300 )
print "Jetzt ist die Zeit abgelaufen : %s" % time.ctime ( )

Die entsprechende Ausgabe sieht dann in etwa so aus:

Hier geht es los : Wed Dec 14 11:10:14 2022
Jetzt ist die Zeit abgelaufen : Wed Dec 14 11:15:14 2022

Zwischen den beiden Ausgaben liegen dann genau 300 Sekunden, also fünf Minuten.

Ein Countdown mit Python sleep

Sie können die Funktion Python sleep aber auch nutzen, wenn Sie in umgekehrter Reihenfolge zählen möchten. Im folgenden Beispiel erstellen Sie einen Countdown von 10 bis 0. Das Prinzip ähnelt dem letzten Beispiel, dieses Mal verwenden Sie allerdings eine for-Loop.

import time
for i in reversed ( range (1, 11 ) ):
print ( i )
time.sleep ( 1 )
print ( "Es geht los! " )

Wenn Sie nun das Programm starten, zählt dieses von 10 an die Zahlen in absteigender Reihenfolge. Durch sleep wird pro Sekunde ein neuer Wert enthüllt. Ist die Schleife bis 1 durchgelaufen, erscheint anstelle der 0 die Botschaft „Es geht los!“.

Python sleep und Multithreading

Auch die Ausführung mehrerer gleichzeitiger Prozesse, also ein Multithreading, ist mit Python sleep möglich. In diesem Beispiel mit zwei verschiedenen Threads in Form von for-Loops werden zwei Ausgaben angefordert. Durch Python sleep können Sie nun steuern, wann welcher Befehl ausgeführt wird, und somit eine feste Ordnung in das Programm bringen. Das funktioniert so:

import threading
import time
def erste_ausgabe ( ):
	for i in range ( 5 ):
		time.sleep ( 0.5 )
		print ( "Dies ist die erste Ausgabe" )
def zweite_ausgabe ( ):
	for i in range ( 5 ):
		time.sleep ( 0.7 )
		print ( "Dies ist die zweite Ausgabe" )
t1 = threading.Thread ( target = erste_ausgabe )
t2 = threading.Thread ( target = zweite_ausgabe )
t1.start ( )
t2.start ( )