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