Files
Aislo/docs/raw/M01_고침/sub2/ed.py
T

17 lines
817 B
Python

# 줄 번호로 요소 한 줄의 검색어(· 구분 · 상세구분)만 바꿈: ed.py 파일 줄번호 새검색어 [구분 상세구분]
import sys, re, json
sys.stdout.reconfigure(encoding='utf-8')
f, n, term = sys.argv[1], int(sys.argv[2]), sys.argv[3]
g = sys.argv[4] if len(sys.argv) > 4 else None; s = sys.argv[5] if len(sys.argv) > 5 else None
t = open(f, encoding='utf-8', newline='').read().split('\n')
line = t[n-1]
m = re.search(r'"요소": (\{.*\})', line)
assert m, line
d = json.loads(m.group(1)); d['검색어'] = term
if g: d['구분'] = g
if s: d['상세구분'] = s
new = '{' + ', '.join('"%s": %s' % (k, json.dumps(v, ensure_ascii=False)) for k, v in d.items()) + '}'
t[n-1] = line[:m.start(1)] + new + line[m.end(1):]
open(f, 'w', encoding='utf-8', newline='').write('\n'.join(t))
print(n, new)