Heim  >  Artikel  >  Backend-Entwicklung  >  So verzögern Sie manuell in Python

So verzögern Sie manuell in Python

anonymity
anonymityOriginal
2019-05-27 13:57:425081Durchsuche

Ich möchte wissen, wie man einem Python-Skript eine Zeitverzögerung hinzufügt.

import time
time.sleep(5)   # Delays for 5 seconds. You can also use a float value.

Hier ist ein weiteres Beispiel, das ungefähr jede Minute läuft:

import timewhile True:
    print("This prints once a minute.")
    time.sleep(60) # Delay for 1 minute (60 seconds).

Sie können die Funktion „sleep()“ im Zeitmodul verwenden. Es kann Gleitparameter für eine Auflösung von weniger als einer Sekunde übernehmen.

from time import sleep
sleep(0.1) # Time in seconds.

So verzögern Sie manuell in Python

Wie kann man in Python manuell verzögern?

In einem Thread empfehle ich die Schlaffunktion:

>>> from time import sleep
>>> sleep(4)

Dadurch wird die Verarbeitung des Threads, auf dem das Betriebssystem ihn aufruft, tatsächlich angehalten, sodass andere Threads und Prozesse im Ruhezustand ausgeführt werden können.

Verwenden Sie es für diesen Zweck oder einfach, um die Ausführung einer Funktion zu verzögern. Zum Beispiel:

>>> def party_time():
...     print('hooray!')
... 
>>> sleep(3); party_time()
hooray!

Ausdruck nach 3 Sekunden Enter.

Beispiel für die Verwendung von Sleep mit mehreren Threads und Prozessen

Auch hier pausiert Sleep Ihre Threads – es verbraucht keine Rechenleistung.

Erstellen Sie zur Demonstration ein Skript wie dieses (ich habe es zuerst in einer interaktiven Python 3.5-Shell versucht, aber der Unterprozess party_later konnte die Funktion aus irgendeinem Grund nicht finden):

from concurrent.futures import ThreadPoolExecutor, ProcessPoolExecutor, as_completed
from time import sleep, time
def party_later(kind='', n=''):
    sleep(3)
    return kind + n + ' party time!: ' + __name__
def main():
    with ProcessPoolExecutor() as proc_executor:
        with ThreadPoolExecutor() as thread_executor:
            start_time = time()
            proc_future1 = proc_executor.submit(party_later, kind='proc', n='1')
            proc_future2 = proc_executor.submit(party_later, kind='proc', n='2')
            thread_future1 = thread_executor.submit(party_later, kind='thread', n='1')
            thread_future2 = thread_executor.submit(party_later, kind='thread', n='2')
            for f in as_completed([
              proc_future1, proc_future2, thread_future1, thread_future2,]):
                print(f.result())
            end_time = time()
    print('total time to execute four 3-sec functions:', end_time - start_time)
if __name__ == '__main__':
    main()

Beispielausgabe aus diesem Skript:

thread1 party time!: __main__
thread2 party time!: __main__
proc1 party time!: __mp_main__
proc2 party time!: __mp_main__
total time to execute four 3-sec functions: 3.4519670009613037

Das obige ist der detaillierte Inhalt vonSo verzögern Sie manuell in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn