파일 입출력을 할 때 사전타입을 키:값으로 입력하는 방법에 대해서 

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, R 프로그래밍' 카테고리의 다른 글

[Python] Python 14일차  (0) 2018.06.04
[Python] Python 13일차  (0) 2018.05.31
[Python] Python 12일차  (0) 2018.05.30
[Python] Python 11일차  (1) 2018.05.29
[Python] Python 10일차  (0) 2018.05.28

+ Recent posts