Qu'est-ce que sys.stdout.flush()
faire ?
Réponse
Trop de publicités?
Ender
Points
293
Vous pouvez voir les différences entre ces deux-là.
import sys
for i in range(1,10 ):
sys.stdout.write(str(i))
sys.stdout.flush()
for i in range(1,10 ):
print i
Dans le premier cas, les caractères sont sortis un par un après avoir été écrits, à cause du flush. Dans le second cas, les caractères sont mis en mémoire tampon par Python jusqu'à ce qu'il pense avoir quelque chose qui vaille la peine d'être écrit, puis ils sont écrits en une seule fois.
Si vous ajoutez, par exemple, un time.sleep(0.2)
dans les boucles, cela devient plus évident.
- Réponses précédentes
- Plus de réponses
5 votes
Voir : stackoverflow.com/questions/230751/