Python time sleep()
Bonjour à tous, j'espère que vous apprenez bien Python. Dans ce tutoriel, nous allons apprendre le méthode sleep() de Python. La fonction sleep de Python appartient au module time de Python qui a déjà été discuté précédemment.
Sommeil de temps Python
La fonction de pause de temps en Python est utilisée pour ajouter un retard dans l'exécution d'un programme. Nous pouvons utiliser la fonction de pause de Python pour interrompre l'exécution du programme pendant un certain temps en secondes. Remarque : la fonction de pause de temps de Python arrête en réalité l'exécution du fil actuel uniquement, pas celle de l'ensemble du programme.
Syntaxe de la fonction time sleep() en Python
La méthode sleep() de Python est une méthode du module time de Python. Donc, d'abord, nous devons importer le module time avant de pouvoir utiliser cette méthode. La façon d'utiliser la fonction sleep() de Python est :
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. Voir l'exemple suivant :
importing time module
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 le deuxième print s'exécute après 5 secondes. Vous pouvez donc créer des délais dans votre code selon vos besoins. L'argument peut également être en valeur flottante pour avoir un délai plus précis. Par exemple, si vous souhaitez créer un délai de 100 millisecondes, soit 0,1 seconde, comme suit :
import time
time.sleep(0.100)
Exemple de sommeil en Python
Voyons l'exemple suivant de la fonction time sleep en python.
import time
startTime = time.time()
for i in range(0,5):
print(i)
# making delay for 1 second
time.sleep(1)
endTime = time.time()
elapsedTime = endTime - startTime
print("Elapsed Time = %s" % elapsedTime)
Ceci affichera :
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 suspendue pendant 1 seconde. Le temps supplémentaire est dû à l'exécution du programme, à la planification des threads du système d'exploitation, etc.
Différent temps de délai de la fonction sleep() de Python
Parfois, vous devrez peut-être retarder pendant différents intervalles de temps. 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)
Ceci affichera :
Waiting for 0.5 seconds
Waiting for 0.1 seconds
Waiting for 1 seconds
Waiting for 2 seconds
Impression dramatique en utilisant sleep()
Vous devrez peut-être imprimer un message de manière dramatique, vous pouvez le faire de la manière suivante :
importing time module
import time
message = "Hi!!! I am trying to create suspense"
for i in message:
# printing each character of the message
print(i)
time.sleep(0.3)
Si vous exécutez le code ci-dessus, vous verrez qu'après avoir imprimé chaque caractère du message, il faut un certain temps, ce qui semble dramatique.
Sommeil de thread Python
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 dans la 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 de suspension de thread Python ci-dessus.


