Je voulais afficher la chaîne de caractères sans casser en python, donc mon mémo
J'affichais un message pour chaque processus pour gérer la progression, mais j'étais ennuyé que la ligne ait été rompue une fois.
test.py
for i in xrange(10):
print "i = %d"%i
i=1 i=2 i=3 i=4
Comme ça. Ce que j'ai remarqué ici est une séquence d'échappement appelée \ r. Le retour est représenté par le rappel d'une vieille machine à écrire. Je pense que cela peut être utilisé
Puisqu'aucun saut de ligne n'est utilisé, ajoutez (virgule) à la fin de la phrase et ajoutez sleep pour pouvoir le vérifier.
test2.py
import time
for i in xrange(10):
print "¥r i = %d"%i,
time.sleep(0.3);
i=9
Rien ne s'affiche et seul i = 9 s'affiche. Java etc. fonctionnait bien avec cette méthode, mais pas python. Par conséquent, insérez sys.stdout.flush () pour le vidage forcé.
test3.py
import time
import sys
for i in xrange(10):
print "¥r i = %d"%i,
sys.stdout.flush()
time.sleep(0.3)
Maintenant ça marche bien.
Il semble y avoir une autre façon d'utiliser la fonction de sortie standard de python3. De plus, lorsque j'ai cherché, il y avait de nombreux articles sur cette question.
Recommended Posts