파일의 형태에 따라 파일 열기 모드를 다음과 같이 구분해 사용합니다.
표 8-3 파일 형태에 따른 파일 열기 모드
모드 |
의미 |
설명 |
t |
텍스트(text) |
파일을 텍스트 모드로 열기. 읽기 모드일 때는 rt, 쓰기 모드일 때는 wt와 같이 사용함. 텍스트 모드는 기본값이므로 t는 생략 가능함. |
b |
바이너리(binary) |
파일을 바이너리 모드로 열기. 읽기 모드일 때는 rb, 쓰기 모드일 때는 wb와 같이 사용함. |
따라서 profile.pickle 파일을 열기 위해 open() 함수를 사용할 때 w 모드 뒤에 b를 붙여서 wb라고 해야 올바르게 저장됩니다. 또한, 파일에 한글이 포함됐다 하더라도 별도의 encoding은 지정할 필요가 없습니다.
import pickle # pickle 모듈 가져다 쓰기
profile_file = open("profile.pickle", "wb") # 바이너리 형태로 저장
profile 변수를 하나 만들고 이름, 나이, 취미를 딕셔너리 형태로 정의합니다. 이때 취미는 여러 개를 담을 수 있게 리스트 형태로 넣습니다. 여기까지 작성하고 출력해 보면 입력한 데이터가 그대로 보입니다.
import pickle # pickle 모듈 가져다 쓰기
profile_file = open("profile.pickle", "wb") # 바이너리 형태로 저장
profile = {"이름": "스누피", "나이": 30, "취미": ["축구", "골프", "코딩"]}
print(profile)
실행결과 |
{'이름': '스누피', '나이': 30, '취미': ['축구', '골프', '코딩']} |