Heim > Artikel > Backend-Entwicklung > Warum erscheint die Druckausgabe ohne Zeilenumbruch nicht sofort im Terminal?
Das Standardverhalten von Python besteht darin, die Ausgabe zu puffern. Das bedeutet, dass Text in einem temporären Bereich gespeichert wird, bevor er an das Terminal gesendet wird. Dies geschieht, um die Leistung zu verbessern, indem die Anzahl der erforderlichen Systemaufrufe reduziert wird.
Wenn am Ende von a kein Zeilenumbruch (n) eingefügt ist Bei einer Druckanweisung oder einem Funktionsaufruf wird der Text im Puffer gehalten. Erst wenn ein Zeilenumbruch auftritt oder der Puffer voll ist, wird der Text geleert und im Terminal angezeigt.
In Python 2.x verfügt die print-Anweisung nicht über ein Flush-Argument. Um den Puffer zu leeren, ohne eine neue Zeile hinzuzufügen, kann der folgende Ansatz verwendet werden:
import sys for i in range(10): print '.', sys.stdout.flush()
In Python 3.x enthält die Druckfunktion ein Flush-Schlüsselwortargument:
for i in range(10): print('.', end=' ', flush=True)
< ;h3>Zeilenpufferung deaktivieren
Für Szenarien, in denen ein sofortiges Drucken unabhängig vom Vorhandensein einer neuen Zeile gewünscht wird, kann die Zeilenpufferung vollständig deaktiviert werden. Dies kann erreicht werden mit:
Durch Deaktivieren der Pufferung werden alle Druckaufrufe sofort im Terminal angezeigt, ohne dass ein Zeilenumbruch oder explizites Leeren erforderlich ist.
Das obige ist der detaillierte Inhalt vonWarum erscheint die Druckausgabe ohne Zeilenumbruch nicht sofort im Terminal?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!