From 05ac7a3388ebce53b0da2df4406e602e879aca46 Mon Sep 17 00:00:00 2001 From: dmy Date: Mon, 5 Jan 2026 10:35:09 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E7=BB=9F=E4=B8=80=E5=AF=BC?= =?UTF-8?q?=E5=87=BA=E6=96=87=E4=BB=B6=E5=91=BD=E5=90=8D=E8=A7=84=E5=88=99?= =?UTF-8?q?=EF=BC=8C=E4=BD=BF=E7=94=A8=E6=96=87=E4=BB=B6=E5=89=8D=E7=BC=80?= =?UTF-8?q?=E5=8F=98=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 提取file_prefix变量统一管理导出文件的命名前缀, 确保所有导出的Excel和DXF文件使用一致的命名规则, 提升代码可维护性和文件命名的一致性。 --- gui.py | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/gui.py b/gui.py index a9b03ab..c157192 100644 --- a/gui.py +++ b/gui.py @@ -212,11 +212,12 @@ def index(): if not state["results"] or not refs["export_row"]: return - # 获取带 _result 后缀的文件名 + # 获取文件名基础前缀 + file_prefix = "wind_farm" download_name = "wind_farm_design_result.xlsx" if state.get("original_filename"): - name_no_ext = os.path.splitext(state["original_filename"])[0] - download_name = f"{name_no_ext}_result.xlsx" + file_prefix = os.path.splitext(state["original_filename"])[0] + download_name = f"{file_prefix}_result.xlsx" # 寻找推荐方案:优先 Scenario 1 的最低成本,否则取全局最低成本 scenario1_results = [r for r in state["results"] if "Scenario 1" in r["name"]] @@ -241,7 +242,7 @@ def index(): if c.isalnum() or c in (" ", "-", "_") ] ).strip() - dxf_name = f"design_best_{safe_name}.dxf" + dxf_name = f"{file_prefix}_best_{safe_name}.dxf" export_to_dxf( best_res["turbines"], @@ -278,7 +279,7 @@ def index(): if c.isalnum() or c in (" ", "-", "_") ] ).strip() - dxf_name = f"design_{safe_name}.dxf" + dxf_name = f"{file_prefix}_{safe_name}.dxf" export_to_dxf( selected_res["turbines"], @@ -308,21 +309,17 @@ def index(): import zipfile # 1. 确定文件名 - zip_filename = "all_designs_result.zip" - excel_result_name = "wind_farm_design_result.xlsx" + zip_filename = f"{file_prefix}_all_results.zip" + excel_result_name = f"{file_prefix}_summary.xlsx" # 推断 main.py 生成的原始 Excel 路径 generated_excel_path = "wind_farm_design.xlsx" if state.get("original_filename"): - name_no_ext = os.path.splitext(state["original_filename"])[0] - zip_filename = f"{name_no_ext}_result.zip" - excel_result_name = f"{name_no_ext}_result.xlsx" - if state.get("excel_path"): dir_name = os.path.dirname(state["excel_path"]) generated_excel_path = os.path.join( - dir_name, f"{name_no_ext}_design.xlsx" + dir_name, f"{file_prefix}_design.xlsx" ) try: @@ -353,7 +350,7 @@ def index(): if c.isalnum() or c in (" ", "-", "_") ] ).strip() - dxf_name = f"design_{safe_name}.dxf" + dxf_name = f"{file_prefix}_{safe_name}.dxf" export_to_dxf( res["turbines"], state["substation"],