python执行shell命令,并获取执行过程信息
时间: 2023-06-05 22:47:29 浏览: 169
Python提供了subprocess模块,可以执行系统命令并获取执行过程信息。具体步骤如下:
1. 导入subprocess模块
```
import subprocess
```
2. 使用subprocess.run方法执行命令
```
result = subprocess.run('ls -l', shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
```
方法的参数说明:
- 'ls -l'为要执行的命令;
- shell=True表示在shell中执行命令;
- stdout=subprocess.PIPE表示将标准输出流保存在result.stdout变量中;
- stderr=subprocess.PIPE表示将标准错误流保存在result.stderr变量中。
3. 获取命令执行结果
命令执行结果保存在result变量中,可以使用以下方式获取:
- result.returncode:命令返回值,0表示执行成功;
- result.stdout:命令标准输出流信息;
- result.stderr:命令标准错误流信息。
4. 示例代码
```
import subprocess
result = subprocess.run('ls -l', shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
if result.returncode == 0:
print('执行成功:', result.stdout)
else:
print('执行失败:', result.stderr)
```
以上就是Python执行shell命令并获取执行过程信息的方法。通过subprocess模块,可以方便地获取命令的结果,实现自动化脚本等多种应用场景。
阅读全文