#1 Le 09/07/2010, à 11:41
- no_spleen
[RESOLU][PYTHON] print, retour chariot sans attendre
Bonjour,
J'ai un code de calcul itératif écrit en python. Je veux afficher le résultat intermédiaire à chaque boucle, mais en restant sur la même ligne et en écrasant le résultat précédant.
La solution semblerait être
print resultats,'\r',
mais le code attend la dernière itération pour afficher la ligne. Comment faire pour qu'il affiche le résultat sans attendre ?
Bien à vous
Dernière modification par no_spleen (Le 09/07/2010, à 13:20)
Hors ligne
#2 Le 09/07/2010, à 12:05
- sensini
Re : [RESOLU][PYTHON] print, retour chariot sans attendre
salut,
pour forcer le "flush", il te faudra passer par sys.stdout je pense (enfin, c'est ce que je ferai…)
Que penses-tu de :
import time
import sys
i=0
while i<100:
sys.stdout.write("%d\r" % i)
time.sleep(1)
sys.stdout.flush()
i+=1
Dernière modification par sensini (Le 09/07/2010, à 12:05)
http://doc.ubuntu-fr.org/aptitude
http://bepo.fr
Pensez à chercher sur un moteur de recherche avant de demander http://google.fr/ ;)
Hors ligne
#3 Le 09/07/2010, à 13:11
- credenhill
Re : [RESOLU][PYTHON] print, retour chariot sans attendre
hello
utiliser l'option -u
-u Force stdin, stdout and stderr to be totally unbuffered.
Hors ligne
#4 Le 09/07/2010, à 13:19
- no_spleen
Re : [RESOLU][PYTHON] print, retour chariot sans attendre
Cela marche nickel avec sys.stdout, Merci !
Hors ligne