#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ru-6 源代码鉴别材料.txt 插入 service.py 块(字节忠实、最小改动)。 service.py 字典序在 run.py 与 validate.py 之间 → 块插在 validate.py 分隔符前。 块格式复刻现有:`// ===`/`// 文件:worker/`/`// ===` + 文件正文 + 2 空行(块间分隔)。""" P = "docs/ip/ruanzhu-6-gen-worker/源代码鉴别材料.txt" SRC = "wg1/gen-worker/worker/service.py" EQ = "// ============================================================" txt = open(P, encoding="utf-8").read().split("\n") # 末尾若有 \n → 末元素 ''(join 时还原) idx = txt.index("// 文件:worker/validate.py") # validate 块「文件:」行 assert txt[idx - 1] == EQ, "validate 开头分隔符不符: %r" % txt[idx - 1] ins_at = idx - 1 # 插在 validate 块开头 // === 之前 svc = open(SRC, encoding="utf-8").read().split("\n") if svc and svc[-1] == "": svc.pop() # 去掉尾换行造成的末空元素 → 300 行正文 block = [EQ, "// 文件:worker/service.py", EQ] + svc + ["", ""] # 3 分隔 + 300 正文 + 2 块间空行 new = txt[:ins_at] + block + txt[ins_at:] open(P, "w", encoding="utf-8").write("\n".join(new)) print("svc_content_lines=%d block_lines=%d old_total=%d new_total=%d insert_before_line=%d" % (len(svc), len(block), len(txt), len(new), ins_at + 1))