在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
命令并判断返回状态码是否为零来确定命令是否执行成功。如果返回状态码非零,则打印错误信息。