Vaciar la salida de impresión en Python
-
Limpiar la salida de impresión en Python usando el parámetro
flush
en la funciónprint()
-
Vaciar la salida de impresión en Python usando el método
sys.stdout.flush()
-
Vaciar la salida de impresión en Python usando el indicador
-u
En este tutorial, discutiremos las diversas formas de descargar la salida de las funciones de impresión como print()
y sys.stdout.write()
a la pantalla en Python. Generalmente, las funciones de entrada y salida almacenan los datos en un búfer para mejorar el rendimiento del programa. Por lo tanto, para reducir el número de llamadas al sistema, los datos se almacenan primero en un búfer y luego se escriben en la pantalla, en lugar de escribirlos en la pantalla o archivo, carácter a carácter, etc.
Este tutorial explicará los múltiples métodos para configurar las funciones de impresión para vaciar forzosamente los datos en cada llamada en lugar de almacenarlos en búfer.
Limpiar la salida de impresión en Python usando el parámetro flush
en la función print()
El argumento flush
de la función print()
se puede establecer en True
para evitar que la función almacene en búfer los datos de salida y los vacíe a la fuerza. Si el argumento flush
se establece en True
, la función print()
no almacenará los datos en el búfer para aumentar la eficiencia y seguirá descargándolos en cada llamada.
El código de ejemplo a continuación demuestra cómo hacer que la función print()
elimine a la fuerza la salida de impresión en Python.
print("This is my string", flush=True)
Vaciar la salida de impresión en Python usando el método sys.stdout.flush()
La otra forma de vaciar los datos de salida mientras se imprimen es usando el sys.stdout.flush()
del módulo sys
de Python. El sys.stdout.flush()
forzará las funciones de impresión que pueden ser print()
o sys.stdout.write()
para escribir la salida en la pantalla o archivo en cada llamada y no almacenarlo en búfer.
El siguiente ejemplo de código demuestra cómo usar el método sys.stdout.flush()
para vaciar los datos de salida de la impresión:
import sys
sys.stdout.write("This is my string")
sys.stdout.flush()
Vaciar la salida de impresión en Python usando el indicador -u
Podemos pasar la bandera -u
al intérprete mientras se ejecuta el archivo .py
, esto obligará a stdin
, stdout
y stderr
a no almacenar en búfer y vaciar los datos mientras se ejecuta .py
expediente.
El siguiente ejemplo demuestra cómo usar la marca -u
para limpiar la salida de impresión en Python.
python -u mycodefile.py