Programming

; develop a program

Back-End/Python

[Python] Pickle을 이용한 객체 입출력

Clloud_ 2022. 10. 2. 13:13
반응형

이번 포스팅에서는 파이썬의 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