Wie erfassen Sie die Ausgabe von “subprocess.call", um eine Datei?

In meinem code habe ich eine Zeile wie diese:

rval = subprocess.call(["mkdir",directoryName], shell=True)

und ich kann überprüfen rval zu sehen, wenn es 0 oder 1, aber wenn es 1 würde ich gerne den text aus dem Befehl "A subdirectory or file ben already exists." in einem Datei-format, damit ich es vergleichen kann, um zu einer anderen Datei, wenn ich will, um sicherzustellen, der text ist der gleiche.

Ist es möglich, eine Zeile wie diese, aber ich weiß, das funktioniert nicht

rval = subprocess.call(["mkdir",directoryName], shell=True) >> filename

also egal was passiert, mit dem Befehl, der text ist gefangen in filename, und rval hat immer noch den return-code?

  • Duplizieren von all diesen: stackoverflow.com/search?q=%5Bpython%5D+subprocess+capture
  • mögliche Duplikate von "Aufnehmen" Teilprozess output
  • warum bist du nicht mit Python eingebaute mkdir() ?
  • Ich mache dies für einen Befehl kann ich nicht hier posten, aber es hat ähnliche Eigenschaften wie mkdir.
  • es ist fast ein Duplikat. Der Unterschied wäre Popen vs call (die ich Stimme ist subtil), und der Wunsch zu schreiben in eine Datei, anstatt der Erfassung der Ausgabe im Programm. Obwohl es scheint, der Fragesteller würde eher erfassen Sie die Ausgabe, ist es sinnvoll, die Frage zu beantworten, wie Sie ist.
InformationsquelleAutor Dag | 2010-10-20
Schreibe einen Kommentar