17 lines
817 B
Python
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)
|