使用python的subprocess执行命令、交互、等待、是否结束、解析JSON结果
import subprocess
import json
# 执行命令并获取输出
def execute_command(command):
# 使用subprocess.run来执行命令
result = subprocess.run(command, capture_output=True, text=True, shell=True)
# 如果命令执行成功
if result.returncode == 0:
# 尝试解析JSON输出
try:
json_output = json.loads(result.stdout)
return json_output
except json.JSONDecodeError:
# JSON解析失败,返回原始输出
return result.stdout
else:
# 命令执行失败,返回错误信息
return result.stderr
# 示例命令
command = "echo '{\"key\": \"value\"}'"
# 执行命令
output = execute_command(command)
# 打印结果
print(output)
这段代码使用subprocess.run
来执行一个命令,并且尝试将输出解析为JSON。如果解析成功,则返回解析后的JSON对象;如果解析失败,则返回原始输出。错误处理包括当命令执行失败时返回错误信息。
评论已关闭