Holen Sie sich die Standardausgabe in Echtzeit mit dem Python-Unterprozess

Erfasst die Standardausgabe des Befehls, der zeilenweise asynchron vom Unterprozess ausgeführt wird.

import sys
import subprocess


def get_lines(cmd):
    '''
    :param cmd:str auszuführender Befehl.
    :rtype: generator
    :return:().
    '''
    proc = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
    
    while True:
        line = proc.stdout.readline()
        if line:
            yield line
        
        if not line and proc.poll() is not None:
            break


if __name__ == '__main__':
    for line in get_lines(cmd='du ~/'):
        sys.stdout.write(line)

Recommended Posts

Holen Sie sich die Standardausgabe in Echtzeit mit dem Python-Unterprozess
Ausgabeprotokoll im JSON-Format mit Python-Standardprotokollierung
Machen Sie die Standardausgabe in Python nicht blockierend
Beginnen Sie mit Python mit Blender
Holen Sie sich YouTube Live-Chat-Felder in Echtzeit mit API
Holen Sie sich mit Python zusätzliche Daten zu LDAP
Konvertieren Sie in eine Zeichenfolge, während Sie die Standardausgabe mit dem Python-Unterprozess ausgeben
Lesen Sie die Standardausgabe eines Unterprozesses zeilenweise in Python
UnicodeEncodeError hat Probleme mit der Standardausgabe von Python3
Beginnen wir mit TopCoder in Python (Version 2020)
So ermitteln Sie mit Python den Unterschied zwischen Datum und Uhrzeit in Sekunden
Abrufen und Konvertieren der aktuellen Zeit in der lokalen Systemzeitzone mit Python
Holen Sie sich mit Python Zeitreihendaten von k-db.com
[Python] Holen Sie sich die Dateien mit Python in den Ordner
Lesen Sie die Ausgabe von subprocess.Popen in Echtzeit
So geben Sie "Ketsumaimo" standardmäßig in Python aus
Versuchen Sie, Videos mit OpenCV in Echtzeit zu konvertieren
Ausführungszeit für Python ausgeben
Holen Sie sich Datum in Python
Japanische Ausgabe mit Python
Holen Sie sich ein Date mit Python
Python Aktuelle Zeit abrufen
Visualisieren Sie Informationen zum Beschleunigungssensor von der Mikrocomputerplatine in Echtzeit mit mbed + Python
Holen Sie sich alle Standardeingaben, die in der Paiza- und Wettbewerbsprogrammierung verwendet werden, mit int (Python)
[Python] Holen Sie sich die Zahlen im Diagramm mit OCR
Geben Sie die Zeit ab dem Start des Programms in Python aus
Mit Python psycopg2 erhalten Sie Ergebnisse im Diktatformat
Verwenden Sie communic (), wenn Sie eine Ausgabe in einem Python-Unterprozess empfangen
Japanische Ausgabe beim Umgang mit Python im Visual Studio
Nehmen Sie Kontakt mit der funktionalen Programmierung in JavaScript oder Python 3 auf
Holen Sie sich den Ländercode mit Python
Schaben mit Selen in Python
Holen Sie sich letzten Monat in Python
Betreiben Sie LibreOffice mit Python
Holen Sie sich Twitter-Timeline mit Python
Schaben mit Chromedriver in Python
Standardeingabe mit Zeitlimit
Debuggen mit pdb in Python
Probieren Sie die Python-Ausgabe mit Haxe 3.2 aus
Testen Sie die Standardausgabe mit Pytest
Umgang mit Sounds in Python
Scraping mit Selen in Python
Scraping mit Tor in Python
Transmutationsmatrix im Python-Standard
Tweet mit Bild in Python
Holen Sie sich die Terminalgröße in Python
Holen Sie sich explizit EOF in Python
Messung der Ausführungszeit mit Python With
Kombiniert mit Ordnungszahl in Python
Holen Sie sich die Thread-ID mit Python
Beginnen Sie mit Python! ~ ② Grammatik ~
Holen Sie sich Lager mit Python
Holen Sie sich Evernote-Notizen in Python
Holen Sie sich das Home-Verzeichnis mit Python
Holen Sie sich Tastaturereignis mit Python
Zeitsynchronisation (Windows) mit Python
Holen Sie sich Alembic-Informationen mit Python
Lesen Sie die Fortran-Ausgabe mit Python
Holen Sie sich japanische Synonyme mit Python
Versuchen Sie, Webkamera- / Videokamera-Videos in Echtzeit mit OpenCV zu konvertieren