使用管道运行外部程序并在python中传递参数

时间:2011-08-09 15:44:47

标签: python

我正在使用python中的管道运行外部程序,它工作正常。但是我想将两个参数传递给这个外部程序。

有人可以帮我吗?

谢谢!

1 个答案:

答案 0 :(得分:4)

from subprocess import Popen, PIPE

p = Popen(['external-program', 'arg1', 'arg2'], 
                stdin=PIPE, stdout=PIPE, stderr=PIPE)

如果你的意思是管道输入或输出Python脚本,或

from subprocess import Popen, PIPE

p = Popen('external-program arg1 arg2 | external2'], shell=True)

如果你的意思是在外部程序之间输出输出。

请参阅subprocess docs。如果您需要不同类型的解决方案,请发布您的代码。