Python의 dictionary와 같은 데이터타입을 일반텍스트로 저장하면 원하는데로 저장되지 않고, key값만 저장되고 value는 저장되지 않는다.
pickle을 이용하면 데이터를 손실없이 저장하고 불러올 수 있다.
# binary파일로 데이터파일 작성
>>> import pickle
>>> dataFile = open("user.dat", "wb")
>>> user = {"이름":"Aiden", "나이":30, "직업":"개발자", "취미":["낚시", "골프", "코딩", "독서"]}
>>> pickle.dump(user, dataFile)
>>> dataFile.close()
# binary파일로 작성된 데이터 읽기 (일반 텍스트 편집기로 열어볼 수 없다.)
>>> dataFile = open("user.dat", "rb")
>>> user = pickle.load(dataFile)
>>> print(user)
{'이름': 'Aiden', '나이': 30, '직업': '개발자', '취미': ['낚시', '골프', '코딩', '독서']}
>>> dataFile.close()
# with문을 쓰면 파일 close없이 사용할 수 있다.
>>> with open("user.dat", "rb") as dataFile:
print(pickle.load(dataFile))
{'이름': 'Aiden', '나이': 30, '직업': '개발자', '취미': ['낚시', '골프', '코딩', '독서']}