import json import subprocess import sys from datetime import datetime # 年份:命令行参数 > 当前年份 if len(sys.argv) > 1: year = int(sys.argv[1]) else: year = datetime.now().year # 读取现有数据 with open("data.json", "r", encoding="utf-8") as f: a = json.load(f) # 读取新年份数据 filename = f"holidays_{year}.json" with open(filename, "r", encoding="utf-8") as f: b = json.load(f) # 去重:跳过 data.json 中已存在的日期 existing_dates = {item["date"] for item in a["list"]} new_items = [item for item in b["data"]["list"] if item["date"] not in existing_dates] a["list"].extend(new_items) print(f"合并完成: 新增 {len(new_items)} 条记录,跳过 {len(b['data']['list']) - len(new_items)} 条重复") # 保存 data.json with open("data.json", "w", encoding="utf-8") as f: json.dump(a, f, ensure_ascii=False, indent=2) # 自动构建 main.js subprocess.run(["python", "build.py"])