La fonction Python Sleep - Comment faire attendre Python quelques secondes avant de continuer, avec des exemples de commandes

Vous pouvez utiliser la sleep()fonction de Python pour ajouter un délai à votre code.

Cette fonction est pratique si vous souhaitez mettre en pause votre code entre les appels d'API, par exemple. Ou améliorez l'expérience de l'utilisateur en ajoutant des pauses entre les mots ou les graphiques.

from time import sleep sleep(2) print("hello world") 

Lorsque j'exécute le code ci-dessus, il y a environ deux secondes avant que "hello world" ne s'imprime.

Je rencontre un retard car sleep()arrête «l'exécution du thread appelant» pendant un certain nombre de secondes (bien que l'heure exacte soit approximative). Ainsi, l'exécution du programme est suspendue pendant environ deux secondes dans l'exemple ci-dessus.

Dans cet article, vous apprendrez comment mettre votre code Python en veille.

Les détails du sommeil

Le module de temps de Python contient de nombreuses fonctions liées au temps, dont l'une est sleep(). Pour utiliser sleep (), vous devez l'importer.

from time import sleep 

sleep () prend un argument: secondes. Il s'agit de la durée (en secondes) pendant laquelle vous souhaitez retarder votre code.

seconds = 2 sleep(seconds) 

Dormir en action

Maintenant, utilisons sleep()de différentes manières.

Après avoir importé le sommeil du timemodule, deux lignes de texte s'imprimeront. Cependant, il y aura un délai d'environ deux secondes entre l'impression de chaque ligne.  

from time import sleep print("Hello") sleep(2) print("World") 

Voici ce qui s'est passé lorsque j'ai exécuté le code:

"Hello"Cette ligne imprimée tout de suite.

Ensuite, il y a eu un délai d'environ deux secondes.

"World" Cette ligne s'imprimait environ deux secondes après la première.

Vous pouvez être précis

Rendez votre délai spécifique en passant un nombre à virgule flottante sleep().

from time import sleep print("Prints immediately.") sleep(0.50) print("Prints after a slight delay.") 

Voici ce qui s'est passé lorsque j'ai exécuté le code:

"Prints immediately." Cette ligne imprimée immédiatement.

Ensuite, il y a eu un retard d'environ 0,5 seconde.

"Prints after a slight delay." Cette ligne est imprimée environ 0,5 seconde après la première.

Créer un horodatage

Voici un autre exemple à considérer.

Dans le code ci-dessous, je crée cinq horodatages. J'utilise sleep()pour ajouter un délai d'environ une seconde entre chaque horodatage.

import time for i in range(5): current_time = time.localtime() timestamp = time.strftime("%I:%m:%S", current_time) time.sleep(1) print(timestamp) 

Ici, j'importe le module de temps entier pour pouvoir accéder à plusieurs fonctions, y compris sleep ().

import time 

Ensuite, je crée une boucle for qui itérera cinq fois.

for i in range(5): ... 

À chaque itération, j'obtiens l'heure actuelle.

current_time = time.localtime() 

Je reçois un horodatage en utilisant une autre fonction dans le module de temps, strftime().

timestamp = time.strftime("%I:%m:%S", current_time) 

La fonction sleep () est la suivante, ce qui entraînera un retard à chaque itération de la boucle.

time.sleep(1) 

Lorsque j'exécute le programme, j'attends environ une seconde avant que le premier horodatage ne s'imprime. Ensuite, j'attends environ une seconde que le prochain horodatage s'imprime, et ainsi de suite jusqu'à ce que la boucle se termine.

La sortie ressemble à ceci:

04:08:37 04:08:38 04:08:39 04:08:40 04:08:41 

sleep () et l'expérience utilisateur

Une autre façon d'utiliser sleep()est d'améliorer l'expérience de l'utilisateur en créant un certain suspense.

from time import sleep story_intro = ["It", "was", "a", "dark", "and", "stormy", "night", "..."] for word in story_intro: print(word) sleep(1) 

Ici, je parcours la liste des mots dans story_intro. Pour ajouter du suspense, j'utilise la fonction sleep () pour retarder d'environ une seconde après l'impression de chaque mot.

time.sleep(1) 

Bien que la vitesse d'exécution soit souvent au centre de nos préoccupations, il vaut parfois la peine de ralentir et d'ajouter une pause dans notre code. Lorsque ces occasions se présentent, vous savez ce qu'il faut atteindre et comment cela fonctionne.

J'écris sur l'apprentissage de la programmation et les meilleures façons de s'y prendre sur amymhaddad.com. Je tweet sur la programmation, l'apprentissage et la productivité: @amymhaddad.