[PYTHON] L'appel de time.sleep () après une fonction d'impression avec un argument de fin ne s'imprime pas

problème

Je veux afficher les nombres de 0 à 9 chaque seconde.

count.py


# -*- coding: utf-8 -*-
import time

i = 0
while(i<9):
    print(i, end='')
    time.sleep(1)
    i+=1

Courir.

% python3 count.py

... ça, rien n'est `` imprimé '' et rien ne se passe après quelques secondes ...

Comme test

count.py


# -*- coding: utf-8 -*-
import time

i = 0
while(i<10):
    print(i)
    time.sleep(1)
    i+=1

(Essayez de supprimer l'argument ʻend`)

% python3 count.py
0
1
2
3
4
5
6
7
8
9
%

Affiché toutes les secondes. Cependant, je veux spécifier ʻend` ...

Solution

Ayez l'argument «flush».

count.py


# -*- coding: utf-8 -*-
import time

i = 0
while(i<10):
    print(i, end='', flush=True)
    time.sleep(1)
    i+=1

Quand je l'exécute,

% python3 count.py
0123456789%

Ça s'est bien passé.

Recommended Posts

L'appel de time.sleep () après une fonction d'impression avec un argument de fin ne s'imprime pas
Après l'installation de php7.2, la commande php ne fonctionne pas
Vérifier quand la version ne change pas dans pyenv
Si vous donnez une liste avec l'argument par défaut de la fonction ...
python> n'inclut pas les lettres mm> si "mm" pas dans le texte: / print "sans mm"
Le module qui aurait dû être installé avec pip ne fonctionne pas
python> print> Est-il redirigé uniquement à la fin du processus?> Exécuter avec -u