Ich versuche ein Skript zu machen, um das Testen zu beschleunigen.Python [2.7] - Subprozess
Ich habe mein Programm "foo", das eine Reihe von Befehlen und "bar" zurückgibt, die diese Befehle steuern.
foo werden wie folgt ausgeführt:
./foo ARG(1) ARG(2) ARG(n)
bar mit demselben argumets ausgeführt wird:
./bar ARG(1) ARG(2) ARG(n)
und warten dann für eine Reihe von Befehlen von Hand oder durch foo Ausgang gegeben.
So verwende ich meine Programme, die Art und Weise:
./foo ARG(1) ARG(2) ARG(n) | ./bar ARG(1) ARG(2) ARG(n)
ich das Rohr Verhalten in Python zu replizieren versuchen:
lst ein listet meine ARG ist()
output = subprocess.check_output([os.path.realpath("foo")] + lst)
res = subprocess.check_output([os.path.realpath("bar")] + lst, output)
Offensichtlich Es ist nicht die richtige Methode, aber ich habe mehrere Wege versucht und es funktioniert nicht.
See [ 'subprocess' Dokumentation - Shell-Pipelines Ersetzen] (https://docs.python.org/3/library/subprocess.html#replacing-shell-pipeline) – falsetru
Bitte werfen Sie einen Blick in diese nützliche Bibliothek: https://pypi.python.org/pypi/sh – Mortezaipo