Lesen Sie die Standardausgabe eines Unterprozesses zeilenweise in Python

Überblick

Ich denke, dass Sie einen untergeordneten Prozess mit dem Modul "Unterprozess" erstellen können, aber Sie möchten möglicherweise so etwas wie das Protokoll überwachen. Machen Sie sich also eine Notiz.

Untergeordneter Prozess

Die Nummer wird standardmäßig alle 0,5 Sekunden ausgegeben.

child.py


import time
import sys
i = 0
while True:
   print i
   sys.stdout.flush()
   i += 1
   time.sleep(0.5)

Es geht darum, die im Puffer gespeicherten Daten zu spülen ().

Übergeordneter Prozess

Es wird jedes Mal ausgegeben, wenn das Kind ausgibt.

parent.py


import subprocess
proc = subprocess.Popen(['python','child.py'],stdout=subprocess.PIPE)

print "ready"
for line in iter(proc.stdout.readline,''):
   print line

Ergebnis

ready
1
2
3
4
5
(Folgendes wird weggelassen)

Der Teil, der aus dem untergeordneten Prozess gelesen werden soll, kann auf verschiedene Weise ausgeführt werden, indem ein Thread erstellt, asynchron gelesen und die Daten in die Warteschlange gestellt werden.

Recommended Posts

Lesen Sie die Standardausgabe eines Unterprozesses zeilenweise in Python
Lesen Sie die Datei Zeile für Zeile mit Python
Lesen Sie die Datei Zeile für Zeile mit Python
Ausgabe in Form eines Python-Arrays
Verschiedene Möglichkeiten, die letzte Zeile einer CSV-Datei in Python zu lesen
Ändern Sie das Standardausgabeziel in eine Datei in Python
[Python] Lesen Sie die angegebene Zeile in der Datei
Geben Sie die Anzahl der CPU-Kerne in Python aus
Holen Sie sich den Aufrufer einer Funktion in Python
Kopieren Sie die Liste in Python
Lesen Sie die Ausgabe von subprocess.Popen in Echtzeit
Lesen Sie mit Python Zeile für Zeile aus der Datei
Verwenden Sie communic (), wenn Sie eine Ausgabe in einem Python-Unterprozess empfangen
Gruppieren Sie nach aufeinanderfolgenden Elementen einer Liste in Python
Ein Memorandum über die Umsetzung von Empfehlungen in Python
Lesen Sie die Fortran-Ausgabe mit Python
[Python] Ändern Sie die Textfarbe und Hintergrundfarbe eines bestimmten Schlüsselworts in der Druckausgabe
Finden Sie die scheinbare Breite einer Zeichenfolge in Python heraus
Holen Sie sich die Anzahl der spezifischen Elemente in der Python-Liste
[Hinweis] Import von Dateien in das übergeordnete Verzeichnis in Python
Google sucht mit Python nach der Zeichenfolge in der letzten Zeile der Datei
Finden Sie die Eigenwerte einer reellen symmetrischen Matrix in Python
Machen Sie die Standardausgabe in Python nicht blockierend
Lassen Sie Python die Befehlsausgabe lesen
__init__, das von wxPython oder Tkinter aufgerufen wurde, war ein __init__ -Aufruf der geerbten Klasse in Python
Was scheint eine Vorlage für den Standardeingabe-Teil des Competition Pro in Python3 zu sein
Konvertieren Sie in eine Zeichenfolge, während Sie die Standardausgabe mit dem Python-Unterprozess ausgeben
[Python] Ein Memo häufig verwendeter Phrasen in Python-Skripten
So bestimmen Sie die Existenz eines Selenelements in Python
Eine einfache Datenanalyse von Bitcoin, die von CoinMetrics in Python bereitgestellt wird
[In der Abbildung verstanden] Verwaltung der virtuellen Python-Umgebung durch Pipenv
So überprüfen Sie die Speichergröße einer Variablen in Python
Geben Sie den Inhalt von ~ .xlsx im Ordner mit Python in HTML aus
Die Geschichte, einen Standardtreiber für db mit Python zu erstellen.
So überprüfen Sie die Speichergröße eines Wörterbuchs in Python
Eine Funktion, die die Verarbeitungszeit einer Methode in Python misst
Lesen Sie die Datei in Python mit einem relativen Pfad aus dem Programm
Holen Sie sich die Anzahl der Leser von Artikeln über Mendeley in Python
Überprüfen Sie das Verhalten des Zerstörers in Python
Ausgabebaumstruktur von Dateien in Python
Schreiben Sie den Test in die Python-Dokumentzeichenfolge
Zeigen Sie eine Liste der Alphabete in Python 3 an
Führen Sie den Python-Interpreter im Skript aus
Das Ergebnis der Installation von Python auf Anaconda
[Python] [Meta] Ist der Python-Typ ein Typ?
Grundlagen zum Ausführen von NoxPlayer in Python
UnicodeEncodeError hat Probleme mit der Standardausgabe von Python3
Pandas des Anfängers, vom Anfänger, für den Anfänger [Python]
Ich habe versucht, den Inhalt jedes von Python pip gespeicherten Pakets in einer Zeile zusammenzufassen
Auf der Suche nach dem schnellsten FizzBuzz in Python
Die Geschichte der Verarbeitung A von Blackjack (Python)
Wenn Sie einen Singleton in Python möchten, stellen Sie sich das Modul als Singleton vor
[Python] So fügen Sie eine beliebige Anzahl von Standardeingaben in die Liste ein
Überprüfen Sie die speicherinterne Byte-Zeichenfolge der Gleitkommazahl in Python
Erhalten Sie eine Liste der Ergebnisse der Parallelverarbeitung in Python mit Starmap
Holen Sie sich zu jeder Tageszeit eine Datums- / Uhrzeitinstanz in Python
Ich habe ein Programm erstellt, um die Größe einer Datei mit Python zu überprüfen
Sortieren durch Angabe einer Spalte im Python Numpy-Array.
Zeichnen Sie in Python ein Diagramm einer quadratischen Funktion