在Python中,可以使用`subprocess`模块来执行外部命令并获取返回状态码和错误信息。以下是一个例子:
```python
import subprocess
def run_command(command):
try:
# 执行命令
result = subprocess.run(command, shell=True, capture_output=True, text=True)
# 获取返回状态码和错误信息
return result.returncode, result.stderr
except Exception as e:
# 发生异常时返回错误信息
return -1, str(e)
```
在该示例中,`run_command`函数接收一个命令作为参数,并使用`subprocess.run`方法执行该命令。设置`shell=True`参数可以在执行命令时使用shell环境。`capture_output=True`参数用于捕获命令的输出结果,设置`text=True`参数可以将输出结果以文本形式返回。
`result.returncode`表示返回状态码,非零值通常表示命令执行出错。`result.stderr`表示错误信息。
你可以像下面这样调用`run_command`函数来执行命令并获取返回状态码和错误信息:
```python
command = "ls -l"
return_code, error_message = run_command(command)
if return_code == 0:
print("命令执行成功")
else:
print(f"命令执行失败,错误信息:{error_message}")
```
在这个例子中,我们执行`ls -l`命令并判断返回状态码是否为零来确定命令是否执行成功。如果返回状态码非零,则打印错误信息。