Maison  >  Article  >  développement back-end  >  Comment retarder manuellement en Python

Comment retarder manuellement en Python

anonymity
anonymityoriginal
2019-05-27 13:57:425073parcourir

Je veux savoir comment ajouter un délai dans un script Python.

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

Voici un autre exemple, exécuté environ toutes les minutes :

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

Vous pouvez utiliser la fonction sleep() dans le module time. Il peut adopter des paramètres flottants pour une résolution inférieure à la seconde.

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

Comment retarder manuellement en Python

Comment retarder manuellement en Python ?

Dans un fil de discussion, je recommande la fonction sleep :

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

Cela met en pause le traitement du thread sur lequel le système d'exploitation l'appelle, permettant à d'autres threads et processus de s'exécuter pendant leur sommeil.

Utilisez-le à cet effet, ou simplement pour retarder l'exécution d'une fonction. Par exemple :

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

Imprimer Entrez après 3 secondes.

Exemple d'utilisation de sleep avec plusieurs threads et processus

Encore une fois, sleep met vos threads en pause - il n'utilise aucune puissance de traitement.

Pour démontrer, créez un script comme celui-ci (j'ai d'abord essayé cela dans un shell Python 3.5 interactif, mais le sous-processus party_later n'a pas pu trouver la fonction pour une raison quelconque) :

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()

Exemple de sortie à partir de ce script :

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn