在Python中,执行系统命令并获取其输出可以通过多种方式实现,以下是几种常见的方法:
1. 使用`os.system()`函数:
```python
import os
output = os.popen('命令').read()
print(output)
`os.system()`函数执行命令后返回的是命令的退出状态码,而不是输出。
2. 使用`os.popen()`函数:
```python
import os
result = os.popen('命令')
res = result.read()
for line in res.splitlines():
print(line)
`os.popen()`函数执行命令后返回命令的输出内容。
3. 使用`subprocess.Popen()`函数:
```python
import subprocess
p = subprocess.Popen('命令', shell=True, stdout=subprocess.PIPE)
out, err = p.communicate()
for line in out.splitlines():
print(line)
`subprocess.Popen()`函数执行命令后,可以通过`communicate()`方法获取命令的标准输出和标准错误输出。
4. 使用`commands.getstatusoutput()`函数(Python 2.x中可用):
```python
import commands
output = commands.getstatusoutput('命令')
print(output)
`commands.getstatusoutput()`函数执行命令后返回一个包含状态码和输出的元组。
5. 使用`cd -`命令或`popd`命令返回上一步操作目录(非执行系统命令,但在命令行模式下适用):
```python
import os
os.chdir('上一步的目录')
以上方法可以帮助你在Python中执行系统命令并获取其输出。需要注意的是,`os.system()`和`commands.getstatusoutput()`函数在Python 3.x中已经被弃用,推荐使用`subprocess`模块。