的Python:子进程并运行多个参数的bash脚本

问题描述:

我如何去使用子模块,这是我必须给几个参数运行bash脚本?

How do I go about running a bash script using the subprocess module, to which I must give several arguments?

这是我目前使用的:

subprocess.Popen(['/my/file/path/programname.sh', 'arg1 arg2 %s' % arg3], \
    shell = True)

在bash脚本似乎不中采取任何参数。任何见解是极大的AP preciated!

The bash script seems not to be taking any of the parameters in. Any insights are greatly appreciated!

传递参数作为一个列表,请参阅的在文档的第一code例如的:

Pass arguments as a list, see the very first code example in the docs:

import subprocess

subprocess.check_call(['/my/file/path/programname.sh', 'arg1', 'arg2', arg3])

如果 ARG3 不是一个字符串;它传递给 check_call()前转换为字符串 ARG3 = STR(参数3)

If arg3 is not a string; convert it to string before passing to check_call(): arg3 = str(arg3).