python 执行shell 命令,并获取返回值和结果
时间: 2023-07-30 21:12:09 浏览: 387
Python 运行 shell 获取输出结果的实例
可以使用 Python 的 `subprocess` 模块来执行 shell 命令,并获取返回值和结果。以下是一个示例代码:
```python
import subprocess
# 执行命令
result = subprocess.run(['ls', '-l'], stdout=subprocess.PIPE)
# 获取返回值
returncode = result.returncode
# 获取结果
output = result.stdout.decode('utf-8')
# 输出结果
print(f"Return Code: {returncode}")
print(f"Output:\n{output}")
```
在上面的代码中,`subprocess.run()` 方法会执行 `ls -l` 命令,并将标准输出重定向到 `subprocess.PIPE`,以便在 Python 中获取。然后,我们可以使用 `result.returncode` 属性获取命令的返回值,使用 `result.stdout` 属性获取命令的输出。需要注意的是,输出需要通过 `decode()` 方法进行解码,并指定字符集为 `utf-8`。最后,我们可以将结果输出到控制台。
阅读全文