* 객체 단위 파일 입출력을 구현할 수 있다.
* 예외처리를 구현하고 적용할 수 있다.
바이너리 타입 (2진화 = stream 파일 입출력)
파일을 열어서 1바이트씩 데이터를 읽어서 화면에 hex(16진수) 코드로 출력하는 방법을 말한다.
형식은 open(file, mode) rb, wb로 mode를 지정한다.
→ 영숫자 + 특수문자 => 1byte => stream
→ 1byte = unicode → 2byte = utf-8 → 3byte = utf-16
메서드를 선언하는 방법
추상화, overlode, overloding
overloding 기능을 가진 메소드 :
메소드 이름은 동일한데 () 매개인자의 개수를 타입을 다르게 지정해서 호출하도록 선언하는 방법
class bytes(object)
| bytes(iterable_of_ints) → bytes
| bytes(string, encoding [, errors]) → bytes
| bytes(bytes_or_buffer) → immutable copy of bytes_or_buffer
| bytes(int) → bytes object of size given by the parameter initialized with null bytes
| bytes() → empty bytes object
파이썬을 실행하는 시스템이 사용하는 기본 인코딩을 리턴하는 메서드
: import sys = sys.getdefaultencoding()
객체 단위 파일 입출력 :
지속 모듈 중의 하나로 파이썬 객체를 저장하는 모듈을 말한다.
1. DBM 관련 모듈: anydbm, dbm, gdbm, dbhash, dumbdbm 등 시스템에 따라서 관련된 모듈 dict형
2. marshal 모듈 : 파이썬의 객체를 이진 포맷으로 저장 (재귀적인 dict, list객체 불가)
. pyc 파일의 컴파일된 코드를 쓰고 읽어 들이는 데 사용된다.
3. shelve 모듈 : dict형식으로 데이터를 접근하는 dbm모듈 중 anydbm과 동일하지만 임의 파이썬 객체가 value로 사용할 수 있다. 내부에서 dict형 인터페이스를 위해 anydbm모듈을 사용하고 객체 저장을 위해 cPickle 모듈을 이용한다.
from pickle import Pickler, Unpicker
pickle
파이썬에서 개체를 파일에 저장한다는 의미를 가진다.
객체 상태를 저장 → 이진 파일로 변환 저장 → 전달 → 복원
장점 :
파이썬 기본 객체 및 사용자 클래스를 저장한다.
서로 참조되는 객체까지의 관계도 저장한다.
재귀적인 관계도 처리된다.
디버깅을 설계하고 문제가 생겼을 때 텍스트 에디터로 복구를 쉽게 할 수 있다.
단점 :
파일의 용량이 크다.
처리 속도가 느리다.
cPickle : Pickle의 단점을 보안한 모듈
3.4 ver 이후 윈도cPickle이 pickle로 변환
순서 :
1. import pickle or cPickle
2. dump(object, file)를 이용해서 파일로 객체를 출력한다.
dumps(object) → string : 문자열로 객체를 출력한다.
3. load(file) → object : 파일에서 객체를 리턴 받는다. loads(bytes) → object : 문자열에서 객체를 리턴 받는다.
'|Playdata_study > Python' 카테고리의 다른 글
210507_모듈 활용 및 csv (0) | 2021.05.07 |
---|---|
210506_예외처리 (0) | 2021.05.06 |
210503_OS모듈 (0) | 2021.05.03 |
210429_클래스4 (0) | 2021.04.30 |
210428_클래스3 (0) | 2021.04.28 |
댓글