From cb3b7e8b15567cf997677b78b508b429b68ad8e0 Mon Sep 17 00:00:00 2001 From: wjy <1229483859@qq.com> Date: Tue, 30 Jun 2026 19:51:19 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20house=5Foperation=E6=9C=80?= =?UTF-8?q?=E7=BB=88=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- house_operation最终版本 | 77 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 house_operation最终版本 diff --git a/house_operation最终版本 b/house_operation最终版本 new file mode 100644 index 0000000..3cc7734 --- /dev/null +++ b/house_operation最终版本 @@ -0,0 +1,77 @@ +import json +import os + +#v1 +HOUSE_FILE = "./data/houses.json" + +def init_db(): + """初始化房源数据文件""" + os.makedirs("./data", exist_ok=True) + if not os.path.exists(HOUSE_FILE): + with open(HOUSE_FILE, 'w', encoding='utf-8') as f: + json.dump([], f, ensure_ascii=False, indent=4) + +def read_houses(): + """读取所有房源""" + init_db() + with open(HOUSE_FILE, 'r', encoding='utf-8') as f: + return json.load(f) + +def write_houses(houses): + """写入房源""" + with open(HOUSE_FILE, 'w', encoding='utf-8') as f: + json.dump(houses, f, ensure_ascii=False, indent=4) + +#v2 +STACK_FILE = "./data/stack_data.json" + +def init_stack_db(): + """初始化栈文件""" + os.makedirs("./data", exist_ok=True) + if not os.path.exists(STACK_FILE): + init_data = {"operation_stack": [], "browse_stack": []} + with open(STACK_FILE, 'w', encoding='utf-8') as f: + json.dump(init_data, f, ensure_ascii=False, indent=4) + +def read_stack(stack_type): + """读取指定栈""" + init_stack_db() + with open(STACK_FILE, 'r', encoding='utf-8') as f: + data = json.load(f) + return data.get(f"{stack_type}_stack", []) + +def write_stack(stack_type, new_stack): + """写入指定栈""" + init_stack_db() + with open(STACK_FILE, 'r', encoding='utf-8') as f: + data = json.load(f) + data[f"{stack_type}_stack"] = new_stack + with open(STACK_FILE, 'w', encoding='utf-8') as f: + json.dump(data, f, ensure_ascii=False, indent=4) + +# v3 +MATRIX_FILE = "./data/matrix.json" + +def init_matrix_db(): + """初始化小区邻接矩阵文件""" + os.makedirs("./data", exist_ok=True) + if not os.path.exists(MATRIX_FILE): + init_data = { + "community_list": [], # 小区名称列表(一维数组) + "distance_matrix": [] # 小区距离二维数组(邻接矩阵) + } + with open(MATRIX_FILE, 'w', encoding='utf-8') as f: + json.dump(init_data, f, ensure_ascii=False, indent=4) + +def read_matrix_data(): + """读取小区列表和距离邻接矩阵""" + init_matrix_db() + with open(MATRIX_FILE, 'r', encoding='utf-8') as f: + return json.load(f) + +def write_matrix_data(matrix_dict): + """保存小区列表和距离邻接矩阵""" + init_matrix_db() + with open(MATRIX_FILE, 'w', encoding='utf-8') as f: + json.dump(matrix_dict, f, ensure_ascii=False, indent=4) +