226 votes

Utilisation de la méthode sys.stdout.flush()

Qu'est-ce que sys.stdout.flush() faire ?

5 votes

1voto

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.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X