Flush Print Output in Python
-
Flush Print Output in Python Usando il parametro
flush
nella funzioneprint()
-
Svuota l’output di stampa in Python usando il metodo
sys.stdout.flush()
-
Svuota l’output di stampa in Python usando il flag
-u
In questo tutorial, discuteremo i vari modi per scaricare l’output delle funzioni di stampa come print()
e sys.stdout.write()
sullo schermo in Python. In genere, le funzioni di input e output memorizzano i dati in un buffer per migliorare le prestazioni del programma. Pertanto, per ridurre il numero di chiamate di sistema, i dati vengono prima memorizzati in un buffer e poi scritti sullo schermo, invece di scriverli sullo schermo o sul file, carattere per carattere, ecc.
Questo tutorial spiegherà i diversi metodi per impostare le funzioni di stampa per scaricare forzatamente i dati su ogni chiamata invece di bufferizzarli.
Flush Print Output in Python Usando il parametro flush
nella funzione print()
L’argomento flush
della funzione print()
può essere impostato su True
per fermare la funzione dal bufferizzare i dati di output e scaricarli forzatamente. Se l’argomento flush
è impostato su True
, la funzione print()
non memorizzerà i dati per aumentare l’efficienza e continuerà a scaricarli ad ogni chiamata.
Il codice di esempio sotto mostra come fare in modo che la funzione print()
scarichi forzatamente l’output di stampa in Python.
print("This is my string", flush=True)
Svuota l’output di stampa in Python usando il metodo sys.stdout.flush()
L’altro modo per scaricare i dati di output durante la stampa è usare sys.stdout.flush()
del modulo sys
di Python. Il sys.stdout.flush()
costringerà le funzioni di stampa che possono essere print()
o sys.stdout.write()
a scrivere l’output sullo schermo o sul file ad ogni chiamata e non bufferizzarlo.
Il seguente esempio di codice mostra come utilizzare il metodo sys.stdout.flush()
per scaricare i dati di output della stampa:
import sys
sys.stdout.write("This is my string")
sys.stdout.flush()
Svuota l’output di stampa in Python usando il flag -u
Possiamo passare il flag -u
all’interprete durante l’esecuzione del file .py
, costringerà stdin
, stdout
e stderr
a non bufferizzare e scaricare i dati durante l’esecuzione di .py
file.
L’esempio seguente mostra come utilizzare il flag -u
per scaricare l’output di stampa in Python.
python -u mycodefile.py