Maison >développement back-end >Tutoriel Python >Pourquoi la sortie tampon empêche-t-elle l'impression immédiate en Python ?

Pourquoi la sortie tampon empêche-t-elle l'impression immédiate en Python ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-10 15:45:03851parcourir

Why Does Buffered Output Prevent Immediate Printing in Python?

Pourquoi la sortie tampon empêche l'impression en ligne dans Python

Le problème

Python met généralement la sortie en mémoire tampon pour améliorer l'efficacité. Cependant, cela conduit à ce que les instructions d'impression ne soient pas affichées immédiatement lorsqu'aucune nouvelle ligne n'est ajoutée. La sortie est retenue et publiée uniquement lorsqu'une nouvelle ligne est rencontrée.

Résolution du problème

Impression unique :

  • Dans Python 3.x, utilisez l'argument flush=True avec print.

    for _ in range(10):
        print('.', end=' ', flush=True)
  • Dans Python 2.x, videz manuellement le flux de sortie standard.

    for _ in range(10):
        print '.'
        sys.stdout.flush()

Impressions multiples :

  • Désactivez complètement la mise en mémoire tampon de la ligne de sortie à l'aide des méthodes décrites dans le lien question.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn