이번 포스팅에서는 파이썬의 pickle을 이용한 객체 입출력에 대하여 공부를 해보고자 한다.
아래의 글을 먼저 보고 오면 이해하는데 도움이 될 것이다.
2022.10.02 - [Python/파이썬 기초] - [Python] Pickle을 이용한 객체 입출력
[Python] Pickle을 이용한 객체 입출력
이번 포스팅에서는 파이썬의 pickle을 이용한 객체 입출력에 대하여 공부를 해보고자 한다. 아래의 글을 먼저 보고 오면 이해하는데 도움이 될 것이다. 2022.10.02 - [Python/파이썬 기초] - [Python] Pick
c11oud.tistory.com
Pickle
피클은 텍스트 상태의 데이터가 아닌 파이썬 객체 자체를 binary 파일로 저장하는 파이썬 모듈이다.
메모리에 저장된 객체(값)의 형태(type)를 유지한 상태로 파일에 저장 및 불러오기를 처리한다.
원하는 객체 자체를 바이너리로 저장하고 필요할 때 불러오기만 하면 되기 때문에 속도가 빠르다.
open( ) 시 binary 모드로 연다.
파일 확장자는 보통 pkl 이나 pickle을 준다.
fw = open(‘data.pkl’, ‘wb’) : 객체를 pickle에 저장하기 위한 output stream 생성
fi = open(‘data.pkl’, ‘rb’) : 파일에 저장된 객체를 읽어오기 위한 input stream 생성
객체(값)를 파일에 저장
구문
output stream: wb 모드
pickle.dump(저장할 객체, output stream)
예제
with block을 사용하여 객체를 파일에 저장한다.
import pickle
i = 20
with open('int.pkl', 'wb') as fw:
pickle.dump(i, fw)
저장된 객체를 불러오기
구문
input stream: rb 모드
pickle.load(input stream)
예제
with block을 사용하여 저장된 객체를 불러온다.
with open('int.pkl' , 'rb') as fo:
j = pickle.load(fo)
불러온 객체를 출력한다.
print(j)
print(type(j))
print(j + 30)
[실행결과]
20
<class 'int'>
50
'Back-End > Python' 카테고리의 다른 글
[Python] Iterator(반복자) (0) | 2022.10.04 |
---|---|
[Python] 내장함수(Built-In Function) (4) | 2022.10.02 |
[Python] 텍스트 파일 입출력 (0) | 2022.10.02 |
[Python] 예외(Exception) 클래스 정의 (0) | 2022.09.30 |
[Python] try, except 문 (2) | 2022.09.30 |