Daily Develope

[Python] Pickle library (object serialization) 본문

Develope/Python

[Python] Pickle library (object serialization)

noggame 2023. 10. 17. 14:37

Pickle이란?

Python의 객체(Object)를 binary 파일로 serializing 하거나 반대로 binray 파일로부터 de-serializing 하기 위한 프로토콜이 구현된 라이브러리.
흔히 pickling, flattening, marshalling 등으로 일컫는다.

장점?

  1. Python 객체를 바로 파일로 쓰거나 읽을 수 있다.
  2. Binary(또는 Bytes) 형태로 데이터를 다루기 때문에 읽기/쓰기 속도가 빠르다.

읽기/쓰기 예시코드

import pickle
import os

my_filepath = "target/file/path/filename.bin"
my_data = ['target', 'data']

if os.path.isfile(my_filepath):
    ### 읽기
    with open('pickle_data_path', 'rb') as f:
        my_data = pickle.load(f)
else:
    ### 쓰기
    with open('pickle_data_path', 'wb') as f:
        pickle.dump(my_data, f)

참고

python - pickle lib. docu.

Comments