Wie kann ich Shell-Befehle mit einem | ausführen? Rohr drin

7

Ich verwende den Python-Subprozess call() , um den Shell-Befehl auszuführen. Es funktioniert für einen einzelnen Befehl. Was aber, wenn mein Shell-Befehl einen Befehl aufruft und ihn an einen anderen Befehl weiterleitet.

i.e. Wie kann ich das in Python-Skript ausführen?

%Vor%

Ich versuche den Popen Weg zu benutzen, aber ich bekomme immer 0 als Ausgabe

%Vor%

Wenn ich den Befehl in der Shell ausprobiere, wird 1

zurückgegeben %Vor%

Ich bekomme immer 0. Auch wenn ich 1 bekomme, wenn ich den gleichen Befehl in der Shell eintippe.

    
michael 05.08.2013, 05:13
quelle

3 Antworten

21

Aufruf mit shell=True Argument. Zum Beispiel

%Vor%

Harte Art

%Vor%

Siehe Ersetzen der Shell-Pipeline .

    
falsetru 05.08.2013, 05:14
quelle
3

Die anderen Antworten würden funktionieren. Aber hier ist ein eleganterer Ansatz, IMO, der plumbum verwendet.

%Vor%     
shx2 05.08.2013 05:38
quelle
0

Sie können hier oder hier Das ist verwenden" subprocess "mit shell = True

    
Udo Klein 05.08.2013 05:16
quelle

Tags und Links