Bonjour à tous, j’espère que vous apprenez bien le python. Dans ce tutoriel, nous allons parler de la méthode sleep() de python. La fonction sleep() de python appartient au module python time qui a déjà été discuté précédemment
Python time sleep
La fonction sleep de python est utilisée pour ajouter un délai dans l’exécution d’un programme. Nous pouvons utiliser la fonction sleep de python pour mettre en pause l’exécution du programme pendant un certain temps en secondes. Remarquez que la fonction sleep de python arrête en réalité l’exécution du thread actuel uniquement, pas de tout le programme.
Syntaxe de la fonction python time sleep()
sleep() de python est une méthode du module python time. Donc, nous devons d’abord importer le module time, puis nous pouvons utiliser cette méthode. La manière d’utiliser la fonction sleep() de python est la suivante: Ici, l’argument de la méthode sleep() t est en secondes. Cela signifie que lorsque l’instruction time.sleep(t) est exécutée, la ligne de code suivante sera exécutée après t secondes. Voyez l’exemple suivant:
# importation du module time
import time
print("Before the sleep statement")
time.sleep(5)
print("After the sleep statement")
Si vous exécutez le code ci-dessus, vous verrez que la deuxième impression s’exécute après 5 secondes. Ainsi, vous pouvez faire une pause dans votre code selon les besoins. L’argument peut également être une valeur flottante pour avoir un délai plus précis. Par exemple, si vous souhaitez faire une pause de 100 millisecondes, soit 0,1 seconde, voici comment faire :
import time
time.sleep(0.100)
Exemple de sommeil en Python
Examinons l’exemple suivant de la fonction de pause du temps en Python.
import time
startTime = time.time()
for i in range(0,5):
print(i)
# Faire une pause pendant 1 seconde
time.sleep(1)
endTime = time.time()
elapsedTime = endTime - startTime
print("Elapsed Time = %s" % elapsedTime)
Cela produira la sortie suivante :
0
1
2
3
4
Elapsed Time = 5.059988975524902
Le temps écoulé est supérieur à 5 car à chaque itération de la boucle for, l’exécution est interrompue pendant 1 seconde. Le temps supplémentaire est dû au temps d’exécution du programme, à la planification des threads du système d’exploitation, etc.
Différents délais de la fonction sleep() en Python
Parfois, vous devrez peut-être faire une pause pendant un nombre différent de secondes. Vous pouvez le faire comme suit :
import time
for i in [ .5, .1, 1, 2]:
print("Waiting for %s" % i , end='')
print(" seconds")
time.sleep(i)
Cela produira la sortie suivante :
Waiting for 0.5 seconds
Waiting for 0.1 seconds
Waiting for 1 seconds
Waiting for 2 seconds
Impression dramatique avec sleep()
Vous pourriez avoir besoin d’imprimer un message de manière dramatique, vous pouvez le faire comme suit :
# importation du module time
import time
message = "Hi!!! I am trying to create suspense"
for i in message:
# impression de chaque caractère du message
print(i)
time.sleep(0.3)
Si vous exécutez le code ci-dessus, vous verrez qu’après l’impression de chaque caractère du message, cela prend du temps, ce qui semble dramatique.
Python thread sleep
La fonction sleep() de Python est une méthode très importante pour le multithreading. Voici un exemple simple montrant que la fonction sleep de Python interrompt l’exécution du thread actuel uniquement en programmation multithread.
import time
from threading import Thread
class Worker(Thread):
def run(self):
for x in range(0, 11):
print(x)
time.sleep(1)
class Waiter(Thread):
def run(self):
for x in range(100, 103):
print(x)
time.sleep(5)
print("Staring Worker Thread")
Worker().start()
print("Starting Waiter Thread")
Waiter().start()
print("Done")
L’image ci-dessous montre la sortie produite par l’exemple d’arrêt du thread Python ci-dessus. À partir de la sortie, il est très clair que seuls les threads sont arrêtés de l’exécution et non l’ensemble du programme par la fonction sleep de Python. C’est tout sur la fonction sleep de Python ou la fonction sleep de Python. Référence : Post StackOverFlow, Documentation API
Source:
https://www.digitalocean.com/community/tutorials/python-time-sleep