python

python返回状态码和错误信息怎么解决

小亿
125
2023-10-11 18:06:38
栏目: 编程语言

在Python中,可以使用subprocess模块来执行外部命令并获取返回状态码和错误信息。以下是一个例子:

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函数来执行命令并获取返回状态码和错误信息:

command = "ls -l"
return_code, error_message = run_command(command)
if return_code == 0:
print("命令执行成功")
else:
print(f"命令执行失败,错误信息:{error_message}")

在这个例子中,我们执行ls -l命令并判断返回状态码是否为零来确定命令是否执行成功。如果返回状态码非零,则打印错误信息。

0
看了该问题的人还看了