Python

Utilisation de la méthode Python sleep()

Utilisation de la méthode Python sleep()
Si vous souhaitez définir un délai avant d'exécuter un script, vous pouvez utiliser le dormir() fonction intégrée à Python. Cette méthode existe sous le temps module. Généralement, la fonction sleep() est utilisée pour arrêter l'exécution du programme pendant la période de temps donnée (en secondes). Par exemple, si vous téléchargez un fichier à partir d'un emplacement à l'aide d'un script qui peut nécessiter un certain laps de temps, vous pouvez utiliser la méthode sleep() pour informer l'utilisateur d'attendre. Ce tutoriel vous montrera certaines des différentes utilisations de la fonction sleep() dans Python 3.

Syntaxe

L'exemple suivant montre l'utilisation simple de la fonction sleep() pour arrêter l'exécution du programme au milieu du script pendant une certaine période. Le script lira et imprimera la valeur de l'heure système actuelle, attendra 5 secondes sous la fonction sleep(), puis lira et imprimera à nouveau l'heure système actuelle. Ici, les fonctions localtime() et time() sont utilisées pour lire la date et l'heure système actuelles, et la fonction strftime() est utilisée pour imprimer l'heure formatée.

#!/usr/bin/env python3
# Importer le module de temps
heure d'importation
 
# Lire la date et l'heure actuelles
maintenant = temps.heure locale (heure.temps())
 
# Heure de début d'impression
imprimer (temps.strftime("L'heure de début : %H:%M:%S",maintenant))
 
# Attendre 5 secondes
print("Attente 5 secondes… ")
temps.dormir(5)
 
# Lire la date et l'heure actuelles
maintenant = temps.heure locale (heure.temps())
 
# Imprimer l'heure de fin
imprimer (temps.strftime("L'heure de fin : %H:%M:%S",maintenant))

Production

La sortie suivante apparaîtra après l'exécution du script ci-dessus. La sortie montre que la durée entre l'heure de début et l'heure de fin est de 5 secondes, en utilisant la fonction sleep().

Exemple 2 : créer un compteur de temps à l'aide de sleep()

L'exemple suivant montre comment créer facilement un compteur de temps via la méthode sleep(). Le script prendra un nombre en secondes pour initialiser la variable de compteur de temps.  Trois modules sont importés ici. le dateheure le module est importé pour définir la valeur de temps initiale. le temps le module est importé pour utiliser la fonction sleep(). le système module est utilisé pour terminer la boucle while infinie lorsque la valeur du compteur est égale à la valeur du compteur de temps. Quatre variables sont utilisées dans le script pour initialiser les variables heure, minute, seconde et compteur pour définir l'heure de début du compteur de temps. Ici, la fonction sleep() attendra une seconde à chaque itération de la boucle, puis imprimera la valeur du compteur de temps.

#!/usr/bin/env python3
# Importer le module datetime
date/heure d'importation
# Importer le module de temps
heure d'importation
# Importer le module sys
importer le système
 
# Prendre le nombre de secondes à compter
timer = int(input("Définir la valeur du compteur en secondes : "))
# Initialiser l'heure et la valeur du compteur à 0
heure = minute = seconde = compteur = 0
 
# Imprime la valeur de départ de la minuterie
print(dateheure.heure (heure, minute, seconde))
essayer:
# Définir une boucle infinie
tant que vrai :
 
# Délai pendant 1 seconde
temps.dormir(1)
# Incrémenter le compteur de 1
compteur = compteur + 1
# Incrémenter la seconde de 1
seconde = seconde + 1
# Imprimer la valeur actuelle de la minuterie
print(dateheure.heure (heure, minute, seconde))
# Définissez la deuxième valeur sur 0 lorsque la valeur est supérieure à 60
si seconde > 60 :
minute = minute + 1
seconde = 0
# Réglez la valeur des minutes sur 0 lorsque la valeur est supérieure à 60
si minute > 60 :
heure = heure + 1
minute = 0
# Terminer la boucle lorsque la valeur du compteur est égale à la valeur du temporisateur
si compteur == temporisateur :
print("Temps terminé.")
Pause
sauf KeyboardInterrupt :
# Terminer le script lorsque Ctrl+C est pressé
système.sortir

Production

La sortie suivante apparaîtra après l'exécution du script.

Exemple 3 : imprimer chaque caractère d'une chaîne avec un délai

Si vous souhaitez afficher chaque caractère d'un texte avec un certain retard dans la sortie, vous pouvez appliquer la fonction sleep() dans le script. Une tâche similaire est illustrée dans le script suivant. Ici, une valeur de texte est prise comme entrée. Chaque caractère du texte est itéré à l'aide de la boucle et la fonction attendra 0.4 secondes avant l'impression.

#!/usr/bin/env python3
# module de temps d'importation
heure d'importation
 
# Prend une valeur de chaîne
name = input("Entrez votre nom : ")
# Itérer la boucle pour lire chaque caractère de la chaîne
pour val dans le nom :
# Imprime chaque caractère sans saut de ligne
print(val, end = ")
# Attendre 0.4 secondes après l'impression de chaque caractère
temps.dormir(0.4)

Production

Exécutez le script. Vous comprendrez correctement la sortie après avoir exécuté le script.

Exemple 4 : Utilisation de sleep() dans un script multithread

L'exemple suivant montre l'utilisation de la fonction sleep() dans le script Python multi-thread. Deux modules sont importés ici : le module de temps pour utiliser la fonction sleep() et le module de threading pour créer plusieurs threads. Deux fonctions personnalisées sont utilisées dans le script. Un message texte s'imprimera et attendra 0.5 secondes pendant trois fois dans la boucle for lorsque le premier thread démarre. Un message texte s'imprimera et attendra 1 seconde pendant quatre fois à l'intérieur de la boucle for lorsque le deuxième thread démarre.

#!/usr/bin/env python3
# module de temps d'importation
heure d'importation
# Importer le module de filetage
importer le filetage
 
# Définir la première fonction de thread
def prn_message_1() :
pour n dans la plage(3) :
print("Imprimer le message du fil 1")
temps.dormir(0.5)
 
# Définir la deuxième fonction de thread
def prn_message_2() :
pour n dans la plage(4) :
print("Imprimer le message du fil 2")
temps.dormir(1)
 
# Définir la première fonction de thread
thread1 = filetage.Fil (cible=prn_message_1)
# Démarrer la première fonction de thread
fil1.démarrer()
# Définir la deuxième fonction de thread
thread2 = filetage.Thread(cible=prn_message_2)
# Démarrer la deuxième fonction de thread
fil2.démarrer()

Production

La sortie suivante apparaîtra après l'exécution du script. Après avoir démarré le premier thread, le deuxième thread commence et attend la fin pendant 1 seconde. Pendant ce temps, la boucle du premier thread est terminée les deux dernières itérations. Les trois dernières sorties sont apparues pour la boucle du deuxième thread.

Conclusion

La fonction sleep() est utilisée pour résoudre de nombreux types de problèmes liés au temps en Python. Diverses utilisations de cette méthode sont expliquées à l'aide d'exemples très simples ici pour aider le lecteur à connaître les fonctions de cet outil. Je pense que vous ou tout autre utilisateur Python pourrez utiliser cette méthode correctement après avoir pratiqué les exemples inclus dans ce tutoriel.

Comment télécharger et jouer à Civilization VI de Sid Meier sur Linux
Présentation du jeu Civilization 6 est une version moderne du concept classique introduit dans la série de jeux Age of Empires. L'idée était assez sim...
Comment installer et jouer à Doom sur Linux
Introduction à Doom La série Doom est née dans les années 90 après la sortie du Doom original. Ce fut un succès instantané et à partir de ce moment-là...
Vulkan pour les utilisateurs Linux
Avec chaque nouvelle génération de cartes graphiques, nous voyons les développeurs de jeux repousser les limites de la fidélité graphique et se rappro...