本文介绍了Python:子进程并运行带有多个参数的 bash 脚本的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何使用 subprocess 模块运行 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 脚本似乎没有接受任何参数.非常感谢任何见解!

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

推荐答案

将参数作为列表传递,参见 文档中的第一个代码示例:

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(arg3).

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

这篇关于Python:子进程并运行带有多个参数的 bash 脚本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-16 05:54