[Python] 10-2장 객체 출력(pickle, dump(), load())

pickle 모듈

- 프로그램 상에서 우리가 사용하고 있는 객체를 파일 형태로 저장하기 위해 필요한 모듈

- pickle을 사용하기 위해서는 항상 binary 타입 정의해야 함

 

 

 

dump()

- 객체를 pickle 모듈로 압축

1. pickle 모듈 포함
2. 객체 생성
3. open() 함수 사용하여 "wb"(이진파일 쓰기) 모드로 파일 열기
4. dump() 함수 호출로 객체 전달
5. 파일 닫기
import pickle

# 딕셔너리
gameOption = {
    "sound":8,
    "videoQuality":"HIGH",
    "money":10000,
    "weaponList":["gun", "missile", "knife"]
             }

# 이진 파일 오픈
file = open("C:\\Users\\Desktop\\save.p", "wb")

# 딕셔너리를 파일에 저장
pickle.dump(gameOption, file)
file.close()

 

 

 

load()

- 이진 파일에 저장된 내용을 가져와서 객체 불러오기

1. pickle 모듈을 포함
2. open() 함수 사용하여 "rb"(이진파일 읽기) 모드로 파일 열기
4. load() 함수 사용해서 저장된 객체 복원
5. 파일 닫기
import pickle

file = open("C:\\Users\\Desktop\\save.p", "rb")
obj = pickle.load(file)
print(obj)
file.close()

# {'sound': 8, 'videoQuality': 'HIGH', 'money': 10000, 'weaponList': ['gun', 'missile', 'knife']}