Python sleep ist eine Funktion, die es Ihnen erlaubt, ein Programm für einen Moment an­zu­hal­ten und dann un­ver­än­dert wei­ter­lau­fen zu lassen. Mit diesem einfachen Befehl können Sie in der Internet-Pro­gram­mier­spra­che bei­spiels­wei­se Ausgaben timen, die Uhrzeit anzeigen, einen Countdown in­iti­ie­ren oder einen Wecker stellen.

IONOS Ent­wick­ler API
Verwalten Sie Ihre IONOS Hosting-Produkte über unsere leis­tungs­star­ken APIs
  • DNS-Ma­nage­ment
  • SSL-Ver­wal­tung
  • API-Do­ku­men­ta­ti­on

Was ist Python sleep?

Mit Python sleep haben Sie die Mög­lich­keit, Ihr Programm für eine bestimmte Zeit zu pausieren und dann nach Ablauf dieser War­te­frist au­to­ma­tisch wei­ter­lau­fen zu lassen. Das gibt Nut­ze­rin­nen und Nutzern bei­spiels­wei­se Zeit, sich eine Anweisung durch­zu­le­sen, 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, er­mög­licht die Funktion in Zu­sam­men­ar­beit mit Python-if-else-Anweisung, Python-while-Loops oder Python-for-Loops selbst kom­pli­zier­te Abläufe. Abgesehen von der geplanten Ver­zö­ge­rung greift sleep anders als Python break und continue nicht in das Programm ein.

Syntax und Funk­ti­ons­wei­se von Python sleep

Die Syntax von Python sleep sieht immer aus wie folgt:

time.sleep ( t )

t be­zeich­net die ver­an­schlag­te Wartezeit und wird in den meisten Fällen in Sekunden angegeben.

Python sleep un­ter­bricht in der Regel einen fest­ge­leg­ten Ablauf. Zunächst geben Sie also einen Befehl, fügen dann über Python sleep eine Un­ter­bre­chung mit einem be­stimm­ten Zeit­fens­ter ein und geben dann eine Anweisung, welche Aktion nach der Pause aus­ge­führt werden soll.

Zur Ver­an­schau­li­chung bietet sich ein einfaches Beispiel an. In diesem Aufbau soll eine Zeile aus­ge­ge­ben werden. Danach pausiert das Programm für fünf Sekunden und gibt dann eine zweite Zeile aus. Dies ist der ent­spre­chen­de Code:

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

Al­ter­na­tiv 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 fol­gen­der­ma­ßen aus:

import time
x = 60
time.sleep ( x )

Sie können die Wartezeit außerdem in Mil­li­se­kun­den angeben. Hierfür teilen Sie die Eingabe einfach durch 1.000. Das sieht aus­ge­schrie­ben 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 her­kömm­li­chen 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 Ver­zö­ge­rung um genau eine Sekunde ein und befehlen dem Programm, die Schleife erneut zu durch­lau­fen. Wenn Sie die Loop ohne Endzeit wei­ter­lau­fen 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 Zeit­an­ga­be und würde bei­spiels­wei­se 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 Zeit­an­ga­be einfach durch­ge­hend weiter.

Einen Timer erstellen

Auch als Timer eignet sich Python sleep her­vor­ra­gend. Um bei­spiels­wei­se fünf Minuten ein­zu­stel­len, gehen Sie fol­gen­der­ma­ß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 ent­spre­chen­de 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 um­ge­kehr­ter Rei­hen­fol­ge 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 al­ler­dings 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 ab­stei­gen­der Rei­hen­fol­ge. Durch sleep wird pro Sekunde ein neuer Wert enthüllt. Ist die Schleife bis 1 durch­ge­lau­fen, erscheint anstelle der 0 die Botschaft „Es geht los!“.

Python sleep und Mul­ti­th­re­a­ding

Auch die Aus­füh­rung mehrerer gleich­zei­ti­ger Prozesse, also ein Mul­ti­th­re­a­ding, ist mit Python sleep möglich. In diesem Beispiel mit zwei ver­schie­de­nen Threads in Form von for-Loops werden zwei Ausgaben an­ge­for­dert. Durch Python sleep können Sie nun steuern, wann welcher Befehl aus­ge­führt wird, und somit eine feste Ordnung in das Programm bringen. Das funk­tio­niert 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 ( )
Zum Hauptmenü