在Python中,可以使用subprocess模块来执行外部命令并获取返回状态码和错误信息。以下是一个例子:
import subprocessdef run_command(command):try:# 执行命令result = subprocess.run(command, shell=True, capture_output=True, text=True)# 获取返回状态码和错误信息return result.returncode, result.stderrexcept 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命令并判断返回状态码是否为零来确定命令是否执行成功。如果返回状态码非零,则打印错误信息。

