본문으로 바로가기

파이썬 객체 파일로 쓰고 읽기

파이썬의 객체를 저장할 때는 pickle 모듈을 사용합니다.

wb 바이너리 파일로 쓰기.

import pickle

colors = {'red': 1, 'green': 0, 'blue': 3}
with open('colors.pkl', 'wb') as f:
    pickle.dump(colors, f)

 

그냥 텍스트 파일처럼 읽으려고 하면 글자가 깨져서 보입니다. (바이너리 파일)

(py36) PS C:\Users\Desktop\Python\pickle> cat colors.pkl
╚}q (X╚   redq╔K╔X║   greenq╗K X╝   blueq╚K╚u.

 

rb 바이너리 파일 읽기.

import pickle

with open('colors.pkl', 'rb') as f:
    colors = pickle.load(f)
print(colors)
더보기
{'red': 1, 'green': 0, 'blue': 3}

 

여러 객체 파일로 쓰고 읽기

리스트에 요소로 넣어서 저장합니다.

import pickle

a = '1'
b = 2
people = ['mike', 'tom', 'jhon']
flowers = {'rose': 10, 'tulip': 20}

data = [a, b, people, flowers]
with open('data.pkl', 'wb') as f:
    pickle.dump(data, f)

 

읽어서 출력해봅니다.

import pickle

with open('data.pkl', 'rb') as f:
    data = pickle.load(f)

for d in data:
    print(d)
더보기
1
2
['mike', 'tom', 'jhon']
{'rose': 10, 'tulip': 20}

 

pickle 모듈은 인공지능 모델 객체를 쓰고 읽는데도 효율적이기 때문에 많이 사용됩니다.