我该如何使用子流程模块运行bash脚本,必须为此提供几个参数?
这是我目前正在使用的:
subprocess.Popen(['/my/file/path/programname.sh', 'arg1 arg2 %s' % arg3], \
shell = True)
bash脚本似乎没有接受任何参数。非常感谢您提供任何见解!
最佳答案
将参数作为列表传递,请参见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(arg3)
。关于python - Python:子流程并运行带有多个参数的bash脚本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17242828/