반응형
파일 입출력을 할 때 사전타입을 키:값으로 입력하는 방법에 대해서
1. str(dict) 을 사용하는 방법
2. json 모듈을 이용하는 방법
1번은 아주 쉬운 방법이라 금방 성공했지만 2번의 경우 파일을 파이썬에서 입출력을 할 때는 문제가 없었지만 저장된 파일을 열어보니 한글이 유니코드 형태로 출력되었다.
=============================== Python ===============================
import json
dict = {'555': '123'}
with open('file.txt', 'w', encoding='UTF-8') as file:
file.write(json.dumps(dict))
'저장된 결과'
{"555": "w\u3141"}
=============================== Python ===============================
문제를 해결하기 위해
1. 저장하는 방식을 .txt, .json 둘 다 사용해봤지만 둘 다 유니코드 문제가 발생하였다.
2. 인코딩 방식의 문제라고 생각하여 UTF-8, EUC-KR, ANSI 등으로 해봤지만 동일한 문제가 발생하였다.
3. 그럼 마지막으로 .dumps() 메서드를 사용 할 때 무슨 방식이 있을까하고 찾아봤는데 답이 있었다.
=============================== Python ===============================
import json
dict = {'555': '내용'}
with open('j.json', 'w', encoding='UTF-8-sig') as file:
file.write(json.dumps(dict, ensure_ascii=False))
'''
'저장된 결과'
{"555": "내용"}
=============================== Python ===============================
.dumps() 메서드를 쓸 때 ensure_ascii = False 를 입력하면 정상적으로 입력이 되었다.
반응형
'Python' 카테고리의 다른 글
Python) exe 실행 파일 만들기 (pyinstaller) (0) | 2020.06.16 |
---|---|
[Error Solution] fatal error LNK1158: cannot run 'rc.exe' (0) | 2020.06.15 |
python) requests Exception 잡아내기 (0) | 2020.06.11 |
python) 파이썬 리스트 비교 (같은값, 다른값 찾기) / compare list (1) | 2020.06.11 |
Python) 파이썬 PyMsSQL, _MsSQL 예외 잡는 방법 (0) | 2020.06.10 |