17 lines
701 B
Python
17 lines
701 B
Python
|
|
# 프로젝트 파일 패치 도우미 — 줄바꿈 형식과 BOM 을 그대로 지키고, 바꿀 문구가 정확히 한 번 있을 때만 바꾼다
|
||
|
|
import io
|
||
|
|
|
||
|
|
ROOT = r"C:\BurningTimes\FirstRising\Assets\BurningTimes"
|
||
|
|
|
||
|
|
|
||
|
|
def patch(path, pairs):
|
||
|
|
s = io.open(path, encoding="utf-8", newline="").read()
|
||
|
|
nl = "\r\n" if "\r\n" in s else "\n"
|
||
|
|
s = s.replace("\r\n", "\n")
|
||
|
|
for a, b in pairs:
|
||
|
|
if s.count(a) != 1:
|
||
|
|
raise SystemExit("바꿀 문구가 %d번 나옵니다(%s): %r" % (s.count(a), path.split("\\")[-1], a[:80]))
|
||
|
|
s = s.replace(a, b)
|
||
|
|
io.open(path, "w", encoding="utf-8", newline="").write(s.replace("\n", nl))
|
||
|
|
print("patched", path.split("\\")[-1])
|