4 Stimmen

Umleitung der Konsolenausgabe in einen Python-String

Möglicher Duplikat:
Wie kann ich die Stdout-Ausgabe eines Unterprozesses erfassen?

Ich führe ein cat-ähnliches Programm in bash von Python aus:

   import os

   os.system('cat foo.txt')

Wie bekomme ich die Ausgabe des Shell-Befehls wieder im Python-Skript zurück, etwas wie:

   s = somefunction('cat foo.txt')

?

UPD: Hier ist ein verwandter Thread.

17voto

ismail Punkte 43244

Verwenden Sie das subprocess Modul.

from subprocess import Popen, PIPE

(stdout, stderr) = Popen(["cat","foo.txt"], stdout=PIPE).communicate()
print stdout

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X