Fonctionnement de sleep() avec print()
Résolu
Leer0r
Messages postés
49
Statut
Membre
-
yg_be Messages postés 24281 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 24281 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
j'ai un problème assez simple mais qui me frustre beaucoup :
J'écris et j'exécute mon code python sous VSC, et tout marche pour le mieux. Mais quand je passe sur une console python (celle de base par exemple), j'ai un petit problème avec sleep() et print().
Petit exemple de mon problème :
Cela va bien afficher les lettres les unes en dessous des autres avec une latence de 0.1s
Mais quand je rajoute :
Le mot s'affiche bien sur une ligne mais sans le délais a chaque lettre, comme si il attendais la fin pour le faire.
Quel est mon erreur ?
Merci d'avance
j'ai un problème assez simple mais qui me frustre beaucoup :
J'écris et j'exécute mon code python sous VSC, et tout marche pour le mieux. Mais quand je passe sur une console python (celle de base par exemple), j'ai un petit problème avec sleep() et print().
Petit exemple de mon problème :
from time import sleep
for i in "coucou a tous":
print(i)
sleep(0.1)
Cela va bien afficher les lettres les unes en dessous des autres avec une latence de 0.1s
Mais quand je rajoute :
from time import sleep
for i in "coucou a tous":
print(i,end="")
sleep(0.1)
Le mot s'affiche bien sur une ligne mais sans le délais a chaque lettre, comme si il attendais la fin pour le faire.
Quel est mon erreur ?
Merci d'avance
A voir également:
- Fonctionnement de sleep() avec print()
- Print artist - Télécharger - Loisirs créatifs
- Print pratic - Télécharger - Photo & Graphisme
- Fonctionnement processeur - Guide
- Fonctionnement du protocole http - Guide
- Dont sleep - Télécharger - Divers Utilitaires
1 réponse
yg_be
Messages postés
24281
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 585
bonjour, cela se passe un peu comme si l'affichage était caché jusqu'à la fin du programme?
import sys import time string = 'hello world\n' for char in string: sys.stdout.write(char) sys.stdout.flush() time.sleep(.25)Il existe un paramètre de la fonction print() qui s'appelle flush, du coup avec :
from time import sleep for i in "coucou a tous": print(i,end="",flush = True) sleep(0.1)J'arrive à obtenir mon résultat !