Option zum Deaktivieren des stdout / stderr-Puffers in Python

Ich habe diesen Artikel geschrieben, weil ich ihn manchmal vergesse und schmerzhafte Augen sehe.

Wenn Sie es so ausführen, wie es in der Shell ist, sollte der folgende Befehl wie beschrieben funktionieren. Geben Sie 1 aus und warten Sie 3 Sekunden, dann geben Sie 2 aus.

$ python -c 'import time; print(1); time.sleep(3); print(2)'
1
2
$

Wenn Sie ein Rohr durch dieses Rohr führen, wird es erst dann herauskommen, wenn sich die Puffergröße des Rohrs angesammelt hat.

Im obigen Beispiel ist

$ python -c 'import time; print(1); time.sleep(3); print(2)' | cat
1
2
$

Ich habe es gerade an `` `cat``` weitergeleitet, aber die Zeilen 1 und 2 kommen nach 3 Sekunden zum gleichen Zeitpunkt heraus. Um es so auszudrücken, derjenige, der sagt "das Rohr ist verstopft". Selbst wenn es in eine Datei geschrieben wird, wird es auch mit einer Verzögerung geschrieben.

Wenn Sie dieses Verhalten unterdrücken möchten, verwenden Sie die Option `` `-u```.

$ python -u -c 'import time; print(1); time.sleep(3); print(2)' | cat
1
2
$

↑ Warten Sie 3 Sekunden, nachdem 1 herauskommt, dann kommen 2 heraus.

http://docs.python.jp/3/using/cmdline.html#cmdoption-u

pythonunbufferedDer gleiche Effekt kann erzielt werden, indem eine nicht leere Zeichenfolge in die Umgebungsvariable eingefügt wird.

Recommended Posts

Option zum Deaktivieren des stdout / stderr-Puffers in Python
So löschen Sie stdout in Python
Melden Sie sich auf der Website in Python an
Sprechen mit Python [Text zu Sprache]
Wie man in Python entwickelt
Post an Slack in Python
Lesen Sie die Protokollpufferdaten mit Python3
Konvertieren Sie Markdown in Python in PDF
So sammeln Sie Bilder in Python
Verwendung von SQLite in Python
Deaktivieren Sie das python2.6 ssl3-Protokoll in centos6
Im Python-Befehl zeigt Python auf Python3.8
Wie man MySQL mit Python benutzt
So verpacken Sie C in Python
Verwendung von ChemSpider in Python
6 Möglichkeiten zum Stringen von Objekten in Python
Verwendung von PubChem mit Python
Umgang mit Japanisch mit Python
Eine Alternative zu "Pause" in Python
Ich habe versucht, PLSA in Python zu implementieren
[Einführung in Python] Wie verwende ich eine Klasse in Python?
Versuchen Sie, sich mit Python bei qiita anzumelden
Installieren Sie Pyaudio, um Wellen in Python zu spielen
Ich habe versucht, Permutation in Python zu implementieren
Methode zum Erstellen einer Python-Umgebung in Xcode 6
Dynamisches Definieren von Variablen in Python
So machen Sie R chartr () in Python
Senden Sie mit Python (Python3) E-Mails an mehrere Empfänger.
Ich habe versucht, PLSA in Python 2 zu implementieren
So setzen Sie die Standardcodierung in Python auf utf-8
Dekorateur zur Vermeidung von UnicodeEncodeError in Python 3 print ()
So arbeiten Sie mit BigQuery in Python
Melden Sie sich mit Anforderungen in Python bei Slack an
Wie bekomme ich Stacktrace in Python?
So zeigen Sie die neunundneunzig Tabelle in Python an
Einfache Möglichkeit, Wikipedia mit Python zu verwenden
So extrahieren Sie einen Polygonbereich in Python
So überprüfen Sie die Version von opencv mit Python
Ich habe versucht, ADALINE in Python zu implementieren
[Python] Pandas in 10 Minuten vollständig zu verstehen
Werfen Sie Incoming Webhook in Python auf Mattermost
Modul zum Generieren des Wortes N-Gramm in Python
Verweisen auf Umgebungsvariablen in Python in Blender
Ich wollte ABC159 mit Python lösen
Ich habe versucht, PPO in Python zu implementieren
So wechseln Sie die Python-Version in Cloud9
So passen Sie den Bildkontrast in Python an
Verwendung von __slots__ in der Python-Klasse
So füllen Sie mit Python dynamisch Nullen aus
Verwalten Sie Python-Pakete, um sie in Containern zu installieren
So betreiben Sie die Zeitstempelstation in Python
Verwendung regulärer Ausdrücke in Python
In Python von Markdown in HTML konvertieren
So zeigen Sie Hello World in Python an
Hinzufügen von Serien zur Spalte in Python-Pandas
Verwendung ist und == in Python
Wie schreibe ich Ruby to_s in Python
Einführung in Vektoren: Lineare Algebra in Python <1>
Konvertieren Sie die absolute URL in eine relative URL in Python
Einführung in die Überprüfung der Wirksamkeit Kapitel 1 in Python geschrieben
Verwendung der C-Bibliothek in Python