[python] pickle 모듈

박민주·2021년 5월 31일
0

파이썬

목록 보기
11/16

pickle이란?

일반 파일 입출력은 텍스트를 저장하는 형태이지만,
리스트나 클래스 같은 텍스트가 아닌 자료형은 데이터를 저장하거나
불러오기 불가능.
pickle은 프로그램 내 데이터를 파일 형태로 저장하는 것.

import pickle # pickle모듈 임포트

list_file = open("my_list.pickle","wb") # 파일생성
my_list = {"name":"amy","age":20,"hobby":{"hiking","coding"}}
print(my_list) # {"name":"amy","age":20,"hobby":{"hiking","coding"}}

#my_list에 있는 정보를 file에 저장
pickle.dump(my_list, list_file) 
list_file.close()

list_file = open("my_list.pickle","rb") #파일가져오기

# file에 있는 정보를 my_list에 불러오기
my_list = pickle.load(list_file) 
print(my_list)
list_file.close() # {"name":"amy","age":20,"hobby":{"hiking","coding"}}

위에 같은 상황에선 매번 file을 close해줘야해서 번거롭고 불편한감이 있다.
with을 사용하여 2줄코딩으로 간결하게 만들어보자.

# my_list 파일을 열어서, w_file라는 변수로 저장하고
# r_file 내용을 pickle.dump을 통해서 파일 입력 및 저장
with open("my_list.pickle","wb") as w_file:
     print(pickle.dump(w_file))

# my_list 파일을 열어서, r_file라는 변수로 저장하고
# r_file 내용을 pickle.load를 통해서 불러와서 출력
with open("my_list.pickle","rb") as r_file:
     print(pickle.load(r_file))
profile
개발공부

0개의 댓글