subprocess 获取
时间: 2024-10-22 18:03:39 浏览: 24
`subprocess`是Python标准库中的模块,用于在当前进程环境中执行外部命令(shell命令),获取其输出、错误信息以及返回码。你可以通过以下几种常用方法来使用`subprocess`模块:
1. `subprocess.run()`函数:这是最推荐的方式,它可以方便地执行命令,捕获输出、错误和返回码。示例:
```python
import subprocess
result = subprocess.run(["ls", "-l"], capture_output=True, text=True)
print(result.stdout) # 输出命令的正常输出
print(result.stderr) # 输出错误信息
print(result.returncode) # 返回码
```
2. `Popen`类:更底层,可以让你有更多的控制,如设置环境变量、传递输入等。示例:
```python
from subprocess import Popen, PIPE
process = Popen(["ls", "-l"], stdout=PIPE, stderr=PIPE)
output, error = process.communicate()
print(output.decode()) # 输出命令的正常输出
print(error.decode()) # 输出错误信息
```
3. `check_call()`和`check_output()`:这两个方法会阻塞直到命令完成,如果命令失败则抛出异常。它们适合于不需要处理中间输出的情况。
无论哪种方法,`subprocess`都是Python执行系统命令的强大工具,对于自动化脚本和后台任务非常有用。
阅读全文