Maison > Article > développement back-end > Comment retarder manuellement en Python
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 ?
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!