Sortie d'impression en Python

Muhammad Waiz Khan 10 octobre 2023
  1. Rincer la sortie d’impression en Python Utilisation du paramètre flush dans la fonction print()
  2. Vider la sortie d’impression en Python en utilisant la méthode sys.stdout.flush()
  3. Flush Print Output en Python en utilisant le drapeau -u
Sortie d'impression en Python

Dans ce tutoriel, nous allons discuter des différentes façons de vider la sortie des fonctions d’impression comme print() et sys.stdout.write() à l’écran en Python. En général, les fonctions d’entrée et de sortie stockent les données dans une mémoire tampon pour améliorer les performances du programme. Par conséquent, pour réduire le nombre d’appels système, les données sont d’abord stockées dans une mémoire tampon, puis écrites à l’écran, au lieu d’être écrites à l’écran ou dans un fichier, caractère par caractère, etc.

Ce tutoriel expliquera les multiples méthodes permettant de régler les fonctions d’impression afin de vider de force les données à chaque appel au lieu de les mettre en mémoire tampon.

Rincer la sortie d’impression en Python Utilisation du paramètre flush dans la fonction print()

L’argument flush de la fonction print() peut être mis à True pour empêcher la fonction de mettre en mémoire tampon les données de sortie et de les vider de force. Si l’argument flush est mis à True, la fonction print() ne mettra pas les données en mémoire tampon pour augmenter l’efficacité et continuera à les vider à chaque appel.

L’exemple de code ci-dessous montre comment faire en sorte que la fonction print() chasse de force la sortie d’impression en Python.

print("This is my string", flush=True)

Vider la sortie d’impression en Python en utilisant la méthode sys.stdout.flush()

L’autre façon de vider les données de sortie lors de l’impression est d’utiliser le module sys.stdout.flush() de Python sys. Le module sys.stdout.flush() forcera les fonctions d’impression qui peuvent être print() ou sys.stdout.write() à écrire la sortie sur l’écran ou le fichier à chaque appel et à ne pas la mettre en mémoire tampon.

L’exemple de code suivant montre comment utiliser la méthode sys.stdout.flush() pour vider les données de sortie de l’impression :

import sys

sys.stdout.write("This is my string")
sys.stdout.flush()

Flush Print Output en Python en utilisant le drapeau -u

Nous pouvons passer le drapeau -u à l’interpréteur pendant l’exécution du fichier .py, il forcera stdin, stdout, et stderr à ne pas mettre en mémoire tampon et à ne pas vider les données pendant l’exécution du fichier .py.

L’exemple ci-dessous montre comment utiliser le drapeau -u pour vider la sortie d’impression en Python.

python -u mycodefile.py

Article connexe - Python Print