본문 바로가기

Programming/Python

pickle을 활용한 객체 직렬화/역직렬화

반응형

객체의 내용과 형태를 그대로 파일에 저장하고 불러오게 하고 싶을 때 pickle 모듈을 사용합니다.

객체의 직렬화를 통해서 객체의 내용을 그대로 파일에 저장할 수 있습니다.

그리고 저장된 객체는 다시 역 직렬화를 통해서 그대로 다시 값을 복원할 수 있습니다.

방법은 간단합니다.

먼저 직렬화를 하는 방법은 다음과 같습니다.

import pickle
data = [{"Apple":1}, 5, ("C", "C++", "Python", "Java")]
f = open("D:\\data.bin", "wb")
pickle.dump(data, f)

간단하게 파일을 쓰기 모드로 열고 객체를 pickle.dump()로 저장할 수 있습니다.

파일을 열어보면 중간중간 Apple이나 Python 같은 문자를 확인할 수 있습니다.

역직렬화 역시 간단하게 수행이 가능합니다.

import pickle
f = open("D:\\data.bin", "rb")
data = pickle.load(f)
print(data)

pickle.load()를 통해서 쓰기 모드로 열린 파일을 넘겨주면 리턴됩니다.

중요한 데이터를 보관하고 다시 사용하고 싶을 때 활용하면 됩니다.

반응형