Python
Pickle! binary를 file에 자료형 그대로 저장하기!
시작 전 테스트환경 살피기
Time
2017년 08월 18일
OS
Linux(Ubuntu 16.04 LTS)
Language
Python 2.7
일반 텍스트를 파일로 저장할 때는 파일 입출력을 이용하면 되지만, list 나 class같은 자료형을 일반 입출력을 이용하여 저장하거나 불러올 수 없다.
>>> testList=[1, 2, 3, 4] >>> with open("test.txt", "wb") as f: f.write(testList) ... Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: argument 1 must be string or buffer, not list |
파이썬에서는 이와같은 자료형들을 저장하기 위하여 pickle이라는 모듈을 제공한다.
Pickle
- class, list, tuple, 사용자가 정의한 객체 등등 다양한 자료형을 형태 그대로 파일에 입출력할 수 있도록 도와준다.
- 피클 사용시 주의하여 할 점은 읽고 쓰는 파일을 무조건 binary 형식으로 해야한다는 것 이다.
import pickle f=open( 파일명, 데이터형식 ) pickle.dump( 데이터, 파일 ) # 데이터를 파일에 입력하는 경우 변수=pickle.load( 파일 ) # 파일에 있는 데이터를 변수에 입력하여 사용하는경우 f.close() |
>>> import pickle >>> testList=[1, 2, 3, 4] >>> with open("test.txt", "wb") as f: pickle.dump(testList, f) ... >>> with open("test.txt", "rb") as f: data=pickle.load(f) ... >>> data [1, 2, 3, 4] |
'개발자 레니는 지금 - > 소프트웨어와 함께' 카테고리의 다른 글
[ Python ] map() 함수 (0) | 2017.08.24 |
---|---|
[ Python ] range()와 xrange()의 차이 (0) | 2017.08.24 |
[ Python ] 시스템 명령어 실행하기 (0) | 2017.08.18 |
👻[ Python ] File 혹은 Dir 삭제하기 (0) | 2017.08.18 |
[ Python ] TypeError: unsupported operand type(s) for +: 'int' and 'str' ... (0) | 2017.08.18 |