2017-01-25 72 views
0

我想製作一個腳本來加速測試。Python [2.7] - 子流程

我有我的程序「foo」,它返回一系列控制這些命令的命令和「bar」。

FOO被如下執行:

./foo ARG(1) ARG(2) ARG(n) 

棒以相同的變元的執行:

./bar ARG(1) ARG(2) ARG(n) 

,然後等待手動或通過FOO輸出給出的一系列命令。

因此,我用我的計劃是這樣:

./foo ARG(1) ARG(2) ARG(n) | ./bar ARG(1) ARG(2) ARG(n) 

我試圖複製在Python管道的行爲:
LST是我ARG()

output = subprocess.check_output([os.path.realpath("foo")] + lst) 
res = subprocess.check_output([os.path.realpath("bar")] + lst, output) 

顯然的清單當然,這不是正確的方法,但我一直在嘗試多種方式,並且它不工作。

+1

參見['subprocess'文檔 - 更換外殼管道( https://docs.python.org/3/library/subprocess.html#replacing-shell-pipeline) – falsetru

+0

Pease查看這個有用的庫:https://pypi.python.org/pypi/sh – Mortezaipo

回答