subprocess.run()
时间: 2024-04-07 18:33:35 浏览: 128
`subprocess.run()` 是 `subprocess` 模块中的一个函数,用于执行外部命令并等待其完成。它是 Python 3.5 以及更高版本中引入的。
`subprocess.run()` 的基本语法如下:
```python
subprocess.run(args, *, stdin=None, input=None, stdout=None, stderr=None, shell=False, timeout=None, check=False, encoding=None, errors=None)
```
其中,`args` 是要执行的命令及其参数,可以是字符串或列表形式。其他参数是可选的。
`subprocess.run()` 函数会启动一个新的进程来执行指定的命令,并等待该进程完成。它返回一个 `CompletedProcess` 对象,其中包含有关命令执行结果的信息,例如返回码、标准输出、标准错误等。
示例:
```python
import subprocess
# 执行一个简单的命令
result = subprocess.run(["ls", "-l"], capture_output=True, text=True)
# 输出命令的返回码
print("Return code:", result.returncode)
# 输出命令的标准输出
print("Standard output:")
print(result.stdout)
# 输出命令的标准错误
print("Standard error:")
print(result.stderr)
```
在上述示例中,`subprocess.run(["ls", "-l"])` 执行了 `ls -l` 命令,并将结果存储在 `result` 变量中。然后我们可以通过访问 `result.returncode`、`result.stdout` 和 `result.stderr` 来获取命令的返回码、标准输出和标准错误。
阅读全文