J'ai le code Python 3 suivant:Python tqdm et impression pour l'impression bizarre
from tqdm import tqdm
print("Before")
for _ in tqdm(range(10)): pass
print("After")
Je vous attendre à obtenir la sortie suivante à la borne:
Before
100%|##########| 10/10 [00:00<?, ?it/s]
After
Cependant, ce que je reçois est la suivante:
100%|##########| 10/10 [00:00<?, ?it/s]
Before
After
Ie les impressions finissent dans le mauvais ordre par rapport à mon code. J'ai aussi essayé d'appeler sys.flush
avant et après les appels à print
, pour obtenir la sortie suivante:
Before
100%|##########| 10/10 [00:00<?, ?it/s]After
En outre, le changement print
-tqdm.write
n'a pas d'effet sur le behavoir. Pourquoi se comporte-t-il de manière inattendue?
Édition: Cette question concerne le cas spécifique où la fonction d'impression est utilisée avant ou après la boucle tqdm. Il y a d'autres questions similaires qui concernent l'impression de messages tandis que dans la boucle tqdm, ce qui n'est pas le cas ici.
@zwer Je ne dirais pas que c'est nécessairement un doublon car cette question concerne l'impression tout en étant dans une boucle tqdm. Mais l'une des réponses à cette question m'a fourni une solution, alors merci! :) – HelloGoodbye
@zwer Je crois que cette question a été marquée incorrectement comme une copie exacte de l'autre question - ils sont différents comme je l'ai expliqué dans un edit à la question. Comment puis-je le marquer comme une copie exacte? – HelloGoodbye