Als «subprocess» getaggte Fragen

Mit dem Python-Unterprozessmodul können Sie neue Prozesse erzeugen, eine Verbindung zu deren Eingabe- / Ausgabe- / Fehler-Pipes herstellen und deren Rückkehrcodes abrufen. Verwenden Sie diese Option, um einen Shell-Befehl oder eine ausführbare Datei in Python auszuführen.

908
Shell-Befehl ausführen und Ausgabe ausgeben

Ich möchte eine Funktion schreiben, die einen Shell-Befehl ausführt und seine Ausgabe als Zeichenfolge zurückgibt , unabhängig davon, ob es sich um eine Fehler- oder Erfolgsmeldung handelt. Ich möchte nur das gleiche Ergebnis erzielen, das ich mit der Befehlszeile erzielt hätte. Was wäre ein...

260
Tatsächliche Bedeutung von 'shell = True' im Unterprozess

Ich rufe mit dem subprocessModul verschiedene Prozesse auf . Ich habe jedoch eine Frage. In den folgenden Codes: callProcess = subprocess.Popen(['ls', '-l'], shell=True) und callProcess = subprocess.Popen(['ls', '-l']) # without shell Beide arbeiten. Nachdem ich die Dokumente gelesen hatte,...

235
Lesen Sie den Teilprozess stdout Zeile für Zeile

Mein Python-Skript verwendet einen Unterprozess, um ein Linux-Dienstprogramm aufzurufen, das sehr laut ist. Ich möchte die gesamte Ausgabe in einer Protokolldatei speichern und dem Benutzer einen Teil davon anzeigen. Ich dachte, das Folgende würde funktionieren, aber die Ausgabe wird in meiner...

184
Live-Ausgabe vom Unterprozessbefehl

Ich verwende ein Python-Skript als Treiber für einen Hydrodynamik-Code. Wenn es Zeit ist, die Simulation auszuführen, verwende ich subprocess.Popen, um den Code auszuführen, die Ausgabe von stdout und stderr in einem subprocess.PIPE--- zu sammeln, dann kann ich die Ausgabeinformationen drucken (und...

135
Echtzeitausgabe mithilfe eines Unterprozesses

Ich versuche, ein Wrapper-Skript für ein Befehlszeilenprogramm (svnadmin verify) zu schreiben, das eine schöne Fortschrittsanzeige für den Vorgang anzeigt. Dies erfordert, dass ich jede Ausgabezeile des umschlossenen Programms sehen kann, sobald es ausgegeben wird. Ich dachte mir, ich würde das...