subprocess传递多个参数
时间: 2024-10-12 08:09:39 浏览: 30
Python subprocess模块功能与常见用法实例详解
在Python的subprocess模块中,如果你想传递多个参数给外部程序(比如一个shell命令或脚本),你可以将它们打包成一个列表或元组,然后作为`args`参数传递给`Popen`或`run`函数。这里有一个例子:
```python
import subprocess
# 假设你想执行的JavaScript脚本名为script.js,需要两个参数a和b
params = ['node', 'script.js', 'param1', 'param2']
# 使用Popen
process = subprocess.Popen(params, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
# 或者使用run,会返回一个完整的进程结果对象
result = subprocess.run(params, capture_output=True)
# 输出结果
print(result.stdout.decode())
```
在这个例子中,`['node', 'script.js']`是基础命令和脚本名,`['param1', 'param2']`是额外的参数列表。注意,如果参数中有空格或特殊字符,可能需要加上引号进行包围,以防Shell解析。
阅读全文