본문 바로가기

파이썬 Pickle 라이브러리 자세한 사용법

취미/프로그래밍 2021. 7. 15.
반응형

Pickle 이란. 

데이터를 저장, 불러오는 데 유용한 라이브러리.

텍스트 상태의 데이터가 아니라 객체 자체를 바이너리로 저장.

문자열이 아니라 객체를 파일에 쓸수 없어서 사용한다.

파이썬에서는 이와 같은 텍스트 이외의 자료형을 파일로 저장하기 위하여 pickle이라는 모듈을 제공

빠른 속도  매우적은 용량

 

 

사용법


import pickle

open("파일 주소","모드") # close 필요함

with open ("파일 주소","모드") as f: # 밑에는 들여쓰기 해야하고 , 자동 close라서 안해도됨
#모드 종류 : 읽기 'rb', 쓰기 'wb' 이외에 추가 'ab', 배타적 생성 'xb'



pickle.dump(변수(객체), 파일) # pickle로 저장하기  
#변수(객체)를 파일에 저장

pickle.load(파일) # pickle로 불러오기
# 파일을 불러오기 보통 앞에 변수를 넣어서 사용
#예시 Person = pickle.load(파일주소) # 파일주소의 데이터를 변수 Person에 저장

 

실제 사용 예시


open을 이용

import pickle

#저장하기
person = {"이름": "홍길동","나이":10,"좋아하는음식":["양식","중식","한식"]}

Person_data1 = open("./Person_list.dat", "wb")
pickle.dump(person,Person_data1) # person 변수의 값을 Person_data에(./Person_list.dat) wb(덧씌운다)
Person_data1.close() # open() 했으니 close() 로 닫기

# 불러오기
Person_data2 = open("./Person_list.dat", "rb") # ./(같은폴더의)Person_list.dat 파일에서 rb 읽기모드로 불러온다음 변수 Person_data2 에 넣기
person2 = pickle.load(Person_data2) # Person_data2 안에 있는 정보중 첫줄을 person2에 넣기

print(person2) #출력 

Person_data2.close() # open() 했으니 close() 로 닫기

 

 

with open을 이용 ( 차이점은 자동으로 close() 되는것)

import pickle

#저장하기
person = {"이름": "홍길동","나이":10,"좋아하는음식":["양식","중식","한식"]}

with open("./Person_list.dat", "wb") as f:
    pickle.dump(person,f) # person 변수의 값을 f(Person_list.dat에) wb(덧씌운다)

# 불러오기
with open("./Person_list.dat", "rb") as f2: # ./(같은폴더의)Person_list.dat 파일에서 rb 읽기모드로 불러온다음 변수 f2 에 넣기
    person2 = pickle.load(f2) # f2 안에 있는 정보중 첫줄을 person2에 넣기

    print(person2) #출력

 

 

 

 

참고자료

https://docs.python.org/3/library/pickle.html

반응형

댓글