객체 직렬화를 위한 Pickle 이해: Python 객체 보존
Python의 Pickle은 Python 객체를 저장을 위해 바이너리 형식으로 직렬화하는 편리한 메커니즘을 제공합니다. 또는 전송. 피클을 사용하면 사전을 포함한 복잡한 데이터 구조를 파일이나 바이트형 객체로 원활하게 저장할 수 있습니다.
사전 직렬화
새 파일을 작성하고 pickle을 사용하여 사전을 여기에 덤프하려면 다음 단계를 따르세요.
import pickle a = {'hello': 'world'} with open('filename.pickle', 'wb') as handle: pickle.dump(a, handle, protocol=pickle.HIGHEST_PROTOCOL)
pickle.dump() 메서드 사전 'a'를 바이너리 파일 'filename.pickle'로 직렬화합니다. 프로토콜 인수는 직렬화 호환성 수준을 지정합니다.
역직렬화
파일에서 직렬화된 사전을 검색하려면:
with open('filename.pickle', 'rb') as handle: b = pickle.load(handle)
피클. load() 메서드는 이진 데이터를 읽고 원래 사전을 재구성합니다. 'b'.
사전을 넘어서는 다양성
Pickle은 사전 직렬화에만 국한되지 않습니다. 사용자 정의 클래스 및 복잡한 데이터 구조의 인스턴스를 포함하여 다양한 Python 개체를 처리할 수 있습니다. 예를 들면 다음과 같습니다.
import datetime today = datetime.datetime.now() a = [{'hello': 'world'}, 1, 2.3333, 4, True, "x", ("y", [[["z"], "y"], "x"]), {'today', today}]
제한 사항
피클은 다목적이지만 일부 개체는 피클할 수 없습니다. 여기에는 열린 파일 핸들과 같이 시스템 리소스에 의존하는 개체가 포함됩니다.
위 내용은 Python의 Pickle 모듈은 객체를 어떻게 직렬화 및 역직렬화합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!