Python sleep: Skripte in Python pausieren

    Avatarbild von Patrick
    Patrick

    veröffentlicht am: 31.05.2020
    zuletzt aktualisiert am: 02.02.2023

    Python sleep: Skripte pausieren

    Manchmal müssen wir unsere Skripte für einen gewissen Zeitraum pausieren. Um das zu erreichen, können wir die Python sleep Funktion aus dem timer Modul verwenden.

    Python Programm mit sleep pausieren

    Mit sleep kannst du dafür sorgen, dass dein Skript für die angegebene Anzahl an Sekunden pausiert wird. Um diese zu verwenden, musst du sie aus dem Modul timer importieren, oder das Modul timer direkt importieren. Im folgenden Beispiel nutze ich noch die Funktion ctime um eine gut lesbare Zeitangabe zu produzieren.

    import time
    
    print(time.ctime())
    time.sleep(3)
    print(time.ctime())
    Sat May 30 20:22:49 2020
    Sat May 30 20:22:52 2020

    Du kannst die Zeit auch Millisekundengenau übergeben. 100 Millisekunden werden beispielsweise als 0.1 dargestellt.

    Threads mit sleep koordinieren

    Falls du mit threading arbeitest, kannst du sleep verwenden, um die Ausführung verschiedener Threads besser zu koordinieren. Wenn du sleep hier anwendest, wird ein anderer Thread ausgeführt. Im folgenden Beispiel werden 2 Threads mit unterschiedlichen Werten für sleep erstellt und gestartet.

    import time
    from threading import Thread
    
    class Thread1(Thread):
        def run(self):
            for i in range(1, 9):
                print(i, time.ctime())
                time.sleep(1)
    
    class Thread2(Thread):
        def run(self):
            for i in range(10, 13):
                print(i, time.ctime())
                time.sleep(3)
    
    print("Thread1")
    Thread1().start()
    print("Thread2")
    Thread2().start()
    print("Fertig")
    Thread1
    Thread2
    Fertig
    1 Sat May 30 21:45:50 2020
    10 Sat May 30 21:45:50 2020
    2 Sat May 30 21:45:51 2020
    3 Sat May 30 21:45:52 2020
    11 Sat May 30 21:45:53 2020
    4 Sat May 30 21:45:53 2020
    5 Sat May 30 21:45:54 2020
    6 Sat May 30 21:45:55 2020
    12 Sat May 30 21:45:56 2020
    7 Sat May 30 21:45:56 2020
    8 Sat May 30 21:45:57 2020

    Nachdem Thread1 ausgeführt wurde, wartet dieser für 1 Sekunde auf Thread2. Dieser wiederum gibt nach einer Ausführung die Kontrolle an Thread1 für 3 Sekunden zurück. Dieser Kreislauf wiederholt sich bis zum Ende der Ausführung.

    Fazit

    Die Ausführung deines Skriptes mit sleep zu pausieren ist sehr einfach. Weiterhin kannst du mit der Funktion auch die Ausführung deiner Threads genauer beeinflussen.

    Wenn du noch Fragen oder Anmerkungen hast, schreibe es mir bitte in die Kommentare.

    😩 Gelangweilt von den Udemy & YouTube-Tutorials?!

    Lerne spielerisch Python und komme deiner gutbezahlten (und an der 🌴 liegenden) Traumkarriere einen Schritt weiter.

    TP Star TP Star TP Star TP Star TP Star

    "Für Leute die gerne Python oder Java lernen wollen ist Codegree klasse. Ist nicht wie bei anderen Konkurrenten auf Videokursen aufgebaut..."

    - Lennart Sparbier

    100% kostenlos registrieren · keine Kreditkarte notwendig

    👋 Wir warten bereits auf dich!

    Lerne das, was du wirklich brauchst.

    Im Gegensatz zu der Abendschule oder der alteingesessenen Uni lernst du bei codegree die Sprachen & Pakete, die wirklich im Jobmarkt gesucht werden.

    Logo von Python
    Logo von PyTorch
    Logo von Pandas
    Logo von Matplotlib
    Logo von Java
    Logo von NumPy
    Mehr erfahren

    100% kostenlos registrieren · keine Zahlungsdaten notwendig