본문 바로가기
Python

[Python] 피클(Pickle)이란? / 사용 방법(저장, 읽기)

by mine-dong 2021. 9. 30.

Pickle?

- 일반적인 텍스트 저장 기능으로는 파이썬 객체를 저장할 수 없음

- 리스트, 클래스 등과 같은 파이썬 객체를 저장하고 불러올 수 있는 기능을 제공하는 모듈

- 데이터를 자료형 변경 없이 객체 자체를 binary 형태로 저장

- 용량이 작고, 속도도 빠름


사용 방법

import pickle

위 코드로 pickle 모듈을 먼저 import 해준다.

 

data = {
	'fruits': ["cherry", "strawbarry", "banana"], 
    	'price': [3000, 4000, 2000], 
    	'num': [5, 6, 7]
}

위와 같은 형태의 data를 저장하고 저장된 파일로 다시 data를 그대로 읽어와보자

 

# 저장하기
with open('save_data.bin', 'wb') as fw:
	pickle.dump(data, fw)

이 코드를 실행시키면 save_data.bin 파일에 data가 저장된다.

앞에 /Users/min/Desktop 과 같은 경로를 붙여주어 특정 경로에 파일 저장이 가능하다.

/User/min/Desktop/test.bin 으로 저장하면 desktop 에 test.bin 으로 data가 저장된다.

 

# 불러오기
with open('save_data.bin', 'rb') as fl:
	data = pickle.load(fl)

불러올 때에는 wb 대신 rb 를 사용해준다. save_data.bin 대신 읽을 파일의 경로와 파일명을 작성해준다.

pickle.load로 불러오는 파일은 pickle.dump로 저장된 파일이어야 한다.