""" 应用人工确认后的修正到 xinbiaori.txt。 每条修正是「整行旧文本 -> 整行新文本」,脚本会校验旧文本恰好出现一次, 避免误改。运行后打印每条修正结果。 """ from pathlib import Path FILE = Path(r"\\192.168.3.200\work\workspace\python\japanese\tests\data\xinbiaori.txt") # (说明, 旧行, 新行) CORRECTIONS = [ # ---- 汉语拼音手误 ---- ("太 tao->tai", "太|郎:た|ろう:tao|lang", "太|郎:た|ろう:tai|lang"), ("明日 jinri->mingri","明日:あした:jinri", "明日:あした:mingri"), ("美 nei->mei", "美|術|館:び|じゅつ|かん:nei|shu|guan", "美|術|館:び|じゅつ|かん:mei|shu|guan"), ("国 huo->guo", "韓|国:かん|こく:han|huo", "韓|国:かん|こく:han|guo"), ("海 gai->hai", "北|海|道:ほっ|かい|どう:bei|gai|dao", "北|海|道:ほっ|かい|どう:bei|hai|dao"), ("渋 she->se", "渋|谷:しぶ|や:she|gu", "渋|谷:しぶ|や:se|gu"), ("紙 空->zhi", "新|聞|紙:しん|ぶん|し:xin|wen|", "新|聞|紙:しん|ぶん|し:xin|wen|zhi"), ("曇 yun->tan", "曇|り:くも|り:yun|", "曇|り:くも|り:tan|"), ("写 xue->xie", "写|真|展:しゃ|しん|てん:xue|zhen|zhan", "写|真|展:しゃ|しん|てん:xie|zhen|zhan"), ("荘 su->zhuang", "別|荘:べっ|そう:bie|su", "別|荘:べっ|そう:bie|zhuang"), ("酎 zhuo->zhou", "焼|酎:しょう|ちゅう:shao|zhuo", "焼|酎:しょう|ちゅう:shao|zhou"), ("撮 she->cuo", "撮|影|禁|止:さつ|えい|きん|し:she|ying|jin|zhi","撮|影|禁|止:さつ|えい|きん|し:cuo|ying|jin|zhi"), ("計 jia->ji", "設|計:せっ|けい:she|jia", "設|計:せっ|けい:she|ji"), ("嬢 nang->niang", "お|嬢|さん:お|じょう|さん:|nang|", "お|嬢|さん:お|じょう|さん:|niang|"), ("濯 di->zhuo (機)", "洗|濯|機:せん|たく|き:xi|di|ji", "洗|濯|機:せん|たく|き:xi|zhuo|ji"), ("濯 di->zhuo", "洗|濯:せん|たく:xi|di", "洗|濯:せん|たく:xi|zhuo"), ("絶 hue->jue", "絶|対|に:ぜっ|たい|に:hue|dui|", "絶|対|に:ぜっ|たい|に:jue|dui|"), ("道 gong->dao", "高|速|道|路:こう|そく|どう|ろ:gao|su|gong|lu", "高|速|道|路:こう|そく|どう|ろ:gao|su|dao|lu"), ("渋 she->se (滞)", "渋|滞:じゅう|たい:she|zhi", "渋|滞:じゅう|たい:se|zhi"), ("束 su->shu", "約|束:やく|そく:yue|su", "約|束:やく|そく:yue|shu"), ("雰 wu->fen", "雰|囲|気:ふん|い|き:wu|wei|qi", "雰|囲|気:ふん|い|き:fen|wei|qi"), ("孫 suan->sun", "孫:まご:suan", "孫:まご:sun"), ("金 空->jin", "貯|金:ちょ|きん:zhu|", "貯|金:ちょ|きん:zhu|jin"), ("交 ijao->jiao", "交|通|事|故:こう|つう|じ|こ:ijao|tong|shi|gu", "交|通|事|故:こう|つう|じ|こ:jiao|tong|shi|gu"), ("則 zhe->ze", "規|則:き|そく:gui|zhe", "規|則:き|そく:gui|ze"), ("具 u->ju", "具|合:ぐ|あい:u|he", "具|合:ぐ|あい:ju|he"), ("円 en->yuan", "円|高:えん|だか:en|gao", "円|高:えん|だか:yuan|gao"), ("欠 qina->qian", "欠|席:けっ|せき:qina|xi", "欠|席:けっ|せき:qian|xi"), ("弁 bing->ban", "合|弁|会|社:ごう|べん|がい|しゃ:he|bing|hui|she","合|弁|会|社:ごう|べん|がい|しゃ:he|ban|hui|she"), # ---- 日语读音修正 ---- ("降る ふり->ふ", "降|る:ふり|る:jiang|", "降|る:ふ|る:jiang|"), ("餃 ぎょー->ぎょう", "餃|子:ぎょー|ざ:jiao|zi", "餃|子:ぎょう|ざ:jiao|zi"), ("通 つ->つう", "交|通|事|情:こう|つ|じ|じょう:jiao|tong|shi|qing","交|通|事|情:こう|つう|じ|じょう:jiao|tong|shi|qing"), ] def main(): text = FILE.read_text(encoding="utf-8") applied, missing, ambiguous = [], [], [] for desc, old, new in CORRECTIONS: cnt = text.count(old) if cnt == 0: missing.append(desc) elif cnt > 1: ambiguous.append(f"{desc} (出现{cnt}次)") else: text = text.replace(old, new) applied.append(desc) FILE.write_text(text, encoding="utf-8") print(f"已应用 {len(applied)} 条:") for d in applied: print(" OK ", d) if missing: print(f"未找到(可能已改或原文不符) {len(missing)} 条:") for d in missing: print(" MISS", d) if ambiguous: print(f"歧义(出现多次,跳过) {len(ambiguous)} 条:") for d in ambiguous: print(" AMB ", d) if __name__ == "__main__": main()