Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python 클래스를 직렬화하는 방법은 무엇입니까?


객체 직렬화 및 역직렬화는 사소하지 않은 Python 프로그램의 일상적인 측면입니다. 파일에 저장, 구성 파일 읽기, HTTP 요청에 응답하는 모든 작업에는 개체 직렬화 및 역직렬화가 포함됩니다.

직렬화 및 역직렬화에는 Python 개체를 스트리밍하고 나중에 그대로 다시 가져오기 위한 다양한 체계, 형식 및 프로토콜이 포함됩니다. 선택한 직렬화 체계, 형식 또는 프로토콜에 따라 프로그램 실행 속도와 보안 수준이 결정됩니다.

파이썬 객체 사전을 사용하여 직렬화할 수 있습니다. 클래스도 파이썬 객체입니다. 우리는 pickle이라는 Python 모듈과 그 메서드 pickle.dumps(object)를 사용합니다.

foo = dict(int_list=[3, 4, 5],  text='Hello World', number=9.99, boolean=False, none=None)
import cPickle as pickle

print pickle.dumps(foo)

print pickle.dumps(foo, protocol=pickle.HIGHEST_PROTOCOL)