티스토리 뷰

파이썬/파이썬 공부

파이썬 pickle 모듈

삼전동해커 2020. 9. 21. 11:13

출처 : https://wayhome25.github.io/cs/2017/04/04/cs-04/

https://wikidocs.net/8929

 

Pickle 모듈

파이썬의 텍스트를 파일로 저장할 때는 파일 입출력을 이용한다.
하지만 리스트나 클래스 같은 텍스트가 아닌 자료형은 pickle이라는 모듈을 사용해야 한다.
그리고 데이터를 불러오면 리스트나 클래스가 그대로 복원되기 때문에 유용하다.
저장 형태도 binary형태라 용량도 매우 작다.
 
 
일반적으로 텍스트를 파일에 저장하는 방법은
 
 
이렇게 저장한다.
 
pickle을 이용해 리스트나 클래스를 저장할 때는 
 
 
이렇게 저장한다.
wb는 w로 쓰다의 write이고 b는 binary형태라는 걸 의미한다.
 

pickle.dump(data,file)의 형태로 입력을 할 수 있다.

위 예에선 py.txt 파일에 getlist의 내용 a,b,c를 입력하고, color를 입력했다.

 

pickle.dump는 파일에 데이터를 쓰는 용도이고,

pickle.dumps는 데이터를 리턴할때 사용한다.

 

 
py.txt를 열어보면
 
 
binary 형태라 알아볼 수는 없지만 getlist와 color가 보인다.
출력을 하기 위해서는 pickle.load를 사용해야 한다.

 

pickle.load는 데이터를 읽고, 데이터의 구조를 객체로 리턴한다.

pickle.loads는 bytes 문자열로 리턴한다. 

다시 출력을 할 때는 
 
 
import pickle

 
data_list=[]
 
 
with open('py.txt','rb') as f:
 
while True:
 
try:
 
data=pickle.load(f)
 
except EOFError:
 
break
 
data_list.append(data)

 
print(data_list)
 
 
이렇게 py.txt를 불러와 반복문을 사용해 data에 로드를 해준다.
대신 error가 있으면 멈춘다.
 
 
출력도 잘 된다.
 

 

'파이썬 > 파이썬 공부' 카테고리의 다른 글

파이썬 게임 만들기 사이트  (0) 2020.10.31
OOP 클래스와 인스턴스  (0) 2020.09.28
파이썬 main문  (0) 2020.09.20
파이썬 Flask Jinja2  (0) 2020.09.16
파이썬 Flask  (0) 2020.09.16
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함