Flush-Druckausgabe in Python

Muhammad Waiz Khan 10 Oktober 2023
  1. Flush der Druckausgabe in Python mit dem Parameter flush in der Funktion print()
  2. Flush der Druckausgabe in Python mit der Methode sys.stdout.flush()
  3. Flush der Druckausgabe in Python mit dem -u Flag
Flush-Druckausgabe in Python

In diesem Tutorial werden wir die verschiedenen Möglichkeiten besprechen, die Ausgabe der Druckfunktionen wie print() und sys.stdout.write() in Python auf den Bildschirm zu leeren. Im Allgemeinen speichern die Ein- und Ausgabefunktionen die Daten in einem Puffer, um die Leistung des Programms zu verbessern. Um die Anzahl der Systemaufrufe zu verringern, werden die Daten daher zuerst in einem Puffer gespeichert und dann auf den Bildschirm geschrieben, anstatt sie Zeichen für Zeichen auf den Bildschirm oder in eine Datei zu schreiben.

In diesem Tutorial werden die verschiedenen Methoden erläutert, mit denen Sie die Druckfunktionen so einstellen können, dass die Daten bei jedem Aufruf zwangsweise geflusht werden, anstatt sie zu puffern.

Flush der Druckausgabe in Python mit dem Parameter flush in der Funktion print()

Das Argument flush der Funktion print() kann auf True gesetzt werden, um die Funktion davon abzuhalten, die Ausgabedaten zu puffern und sie zwangsweise zu spülen. Wenn das flush-Argument auf True gesetzt wird, puffert die print()-Funktion die Daten nicht, um die Effizienz zu erhöhen, und spült sie bei jedem Aufruf.

Der folgende Beispielcode demonstriert, wie man die Funktion print() dazu bringt, die Druckausgabe in Python zwangsweise zu spülen.

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

Flush der Druckausgabe in Python mit der Methode sys.stdout.flush()

Die andere Möglichkeit, die Ausgabedaten beim Drucken zu spülen, ist die Verwendung der Methode sys.stdout.flush() des Python-Moduls sys. Die sys.stdout.flush() zwingt die Druckfunktionen, die print() oder sys.stdout.write() sein können, die Ausgabe bei jedem Aufruf auf den Bildschirm oder in eine Datei zu schreiben und nicht zu puffern.

Das folgende Codebeispiel demonstriert, wie Sie die Methode sys.stdout.flush() verwenden, um die Ausgabedaten des Drucks zu spülen:

import sys

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

Flush der Druckausgabe in Python mit dem -u Flag

Wir können das -u Flag an den Interpreter übergeben, während wir die .py Datei ausführen. Es wird stdin, stdout und stderr dazu zwingen, die Daten nicht zu puffern und zu spülen, während die .py Datei ausgeführt wird.

Das folgende Beispiel zeigt, wie Sie das -u-Flag verwenden, um die Druckausgabe in Python zu spülen.

python -u mycodefile.py

Verwandter Artikel - Python Print