# -*- coding: utf-8 -*- """组装更新包_1.0.5: 成套报价软件.exe + 使用说明.txt → 目录 + zip""" import os import shutil import zipfile ROOT = os.path.normpath(os.path.join(os.path.dirname(os.path.abspath(__file__)), "..")) REL = os.path.join(ROOT, "release", "成套报价软件") OUT = os.path.join(REL, "Output") PKG = os.path.join(OUT, "更新包_1.0.5") 说明 = """成套报价软件 更新包 v1.0.5(覆盖式更新) 本期更新(v1.0.5,2026-10-02): 一、选型页新增筛选功能(重点) 选型页顶栏新增筛选框+筛选按钮:输入关键字(如元件名称或型号片段), 点"筛选"或按回车,汇总表只在 元件名称/规格/图纸规格 三列中 模糊匹配显示;按钮变"清除"后点击恢复全部行; 用过的关键字自动保留下拉历史,方便复用。 使用方法: 1. 完全关闭成套报价软件; 2. 把本包里「成套报价软件.exe」复制到安装目录(默认 C:\\成套报价软件)覆盖; 3. 重新打开软件,关于软件页应显示 v1.0.5。 (完整安装包 成套报价软件_Setup_1.0.5.exe 已同步构建,全新机器请用安装包。) """ def main(): if os.path.isdir(PKG): shutil.rmtree(PKG) os.makedirs(PKG) # 主程序 shutil.copy2(os.path.join(REL, "成套报价软件.exe"), PKG) # (2026-10-01 独立 pdfbt.exe 退役后不再随更新包分发) # 使用说明(GBK,记事本直接打开不乱码) with open(os.path.join(PKG, "使用说明.txt"), "w", encoding="gbk", newline="\r\n") as f: f.write(说明) # zip(文件夹+zip两种形态,与历史更新包一致) zip_path = PKG + ".zip" if os.path.exists(zip_path): os.remove(zip_path) with zipfile.ZipFile(zip_path, "w", zipfile.ZIP_DEFLATED) as z: for name in os.listdir(PKG): z.write(os.path.join(PKG, name), name) print("更新包目录:", PKG) print("更新包zip:", zip_path) for name in os.listdir(PKG): print(" -", name, os.path.getsize(os.path.join(PKG, name)), "字节") print("zip大小:", os.path.getsize(zip_path), "字节") if __name__ == "__main__": main()