pickle은 파이썬(Python) 내장 모듈로써 파이썬 객체를 객체 자체로 파일로 저장할 수 있게 해주는 모듈이다. 예를 들면 리스트는 리스트로 딕셔너리는 딕셔너리로 저장된다는 것이다. 따라서 불러올 때에도 객체가 보존되어 바로 사용할 수 있다.
pickle이 좋은 이유는 기존 text 파일과 비교해 보면 되는데 예를 들어 5GB짜리 text 파일을 읽어 온 다음 이 중에서 여러 곳에 흩어져 있는 문자열을 가져온다고 해보자. 그러면 전체 text를 파싱하여 필요한 부분을 찾아야 하므로 굉장히 비효율적이다. 하지만 pickle은 여러 곳에 흩어져 있는 문자열을 리스트에 담아서(물론 처음에는 text 파일을 불러와야 한다) 그 리스트 자체를 저장하면 다음부터는 불러올 때 전체 text 파일을 읽어올 필요가 없어져서 굉장히 빠르게 필요한 정보를 불러올 수 있게 된다.
이번 포스팅에서는 pickle을 이용하여 파이썬(Python) 객체를 저장하고 불러오는 방법을 알아보려고 한다.
pickle
1) 저장하기 : dump
파이썬 객체 저장은 dump를 이용하면 된다. dump의 첫 번째 인자에 저장하고자할 객체를 넣어주면 된다. 이때 파일명은 '.pickle' 또는 '.pkl'로 끝나야 한다.
import pickle
str_list = ['Hello', 'World']
with open('./str_list.pkl', 'wb') as f:
pickle.dump(str_list, f)
2) 불러오기 : load
'.pickle' 또는 '.pkl' 파일은 load를 이용하여 불러올 수 있다.
with open('./str_list.pkl', 'rb') as f:
data = pickle.load(f)
print(data)
'프로그래밍 > Python' 카테고리의 다른 글
파이썬(Python) textwrap 모듈을 이용한 긴 문장(문자열) 정리하기(생략, 줄바꿈). (0) | 2023.03.12 |
---|---|
파이썬(Python) typing 모듈을 이용한 annotation 세부 설정하기 (0) | 2023.02.21 |
파이썬(Python) ast 모듈을 이용하여 문자(String) 타입의 리스트나 튜플, 딕셔너리를 리스트, 튜플, 딕셔너리 타입으로 변환하기 (feat. literal_eval) (0) | 2023.01.19 |
파이썬(Python) 여러 패키지(Packages, 모듈) 한번에 설치하기 (feat. pip install -r requirements.txt) (0) | 2023.01.13 |
파이썬(Python) unittest 모듈에 대해서 알아보자. (0) | 2022.10.23 |
댓글