python pickle 예제

성공적으로 선택 해제되었는지 확인하려면 사전을 인쇄하고 이전 사전과 비교한 다음 type()을 사용하여 해당 형식을 확인할 수 있습니다. 이렇게 하면 개체가 직렬화되고(개체를 바이트로 저장) f = open(`myfile.txt`, `rb`) new_dict = pickle.load(f) f.close() 작업이 여러 프로세스로 분할되면 데이터를 공유해야 할 수 있습니다. 프로세스는 메모리 공간을 공유하지 않으므로 서로 정보를 보내야 할 때 피클 모듈을 사용하여 수행되는 직렬화를 사용합니다. 그런 다음 이전 예제와 동일한 함수를 사용하여 새로 만든 오이 오브젝트를 피클하고 피클합니다. 위의 코드를 실행하면 다음 출력이 발생합니다 : 그러나 파이썬만 사용해야하는 경우 피클 모듈은 사용 편의성과 완전한 파이썬 객체를 재구성 할 수있는 능력에 여전히 적합합니다. import 피클 my_dict = {“예제”:”개”, “example2″:”고양이”} 오픈 (`myfile.txt`, `wb`) f로: pickle.dump (mydict, f) 당신은 JSON (자바 스크립트 개체 표기술)에 대해 들어 본 적이있을 가능성이있다, 이는 또한 개발자가 저장하고 할 수있는 인기있는 형식입니다 문자열로 인코딩된 개체를 전송합니다. 이 직렬화 방법은 피클에 비해 몇 가지 장점이 있습니다. JSON 형식은 사람이 읽을 수 있고 언어에 독립적이며 피클보다 빠릅니다. 일반적으로 사전 처리와 같은 데이터에 대한 일상적인 작업을 수행하는 데이터 분석에 가장 유용한 피클링을 찾을 수 있습니다. 또한 사전과 같은 Python 특정 데이터 형식을 사용할 때 많은 의미가 있습니다. 이제 데이터가 절임되었으므로 이 사전을 해제하는 방법에 대해 살펴보겠습니다.

절인 파일을 파이썬 프로그램에 다시 로드하는 프로세스는 open() 함수를 다시 사용하지만 이번에는 `rb`를 wb 대신 두 번째 인수로 사용합니다. r은 읽기 모드를 의미하고 b는 바이너리 모드를 의미합니다. 이진 파일을 읽게 됩니다. 이 것을 인파일로 할당합니다. 그런 다음 infile을 인수로 사용하여 pickle.load()를 사용하고 new_dict에 할당합니다. 이제 파일의 내용이 이 새 변수에 할당됩니다. 다시, 끝에 파일을 닫아야 합니다. 그런 다음 pickle.dump() 함수를 사용하여 개체 데이터를 파일에 저장합니다. pickle.dump() 함수는 3개의 인수를 사용합니다.

첫 번째 인수는 저장할 개체입니다. 두 번째 인수는 쓰기 바이너리(wb) 모드에서 원하는 파일을 열어 받는 파일 개체입니다. 세 번째 인수는 키-값 인수입니다. 이 인수는 프로토콜을 정의합니다. 프로토콜에는 피클의 두 가지 유형이 있습니다. 최고_프로토콜 과 피클. 기본_프로토콜. 피클을 사용하여 데이터를 덤프하는 방법을 알아보려면 샘플 코드를 참조하십시오. 직렬화는 디스크에서 일부 진행률을 저장하고 프로그램을 종료한 다음 프로그램을 다시 연 후 진행률을 다시 로드하는 것이 중요한 모든 소프트웨어에서 특히 유용합니다. 비디오 게임은 직렬화의 유용성의 가장 직관적인 예일 수 있지만 사용자의 진행 상황이나 데이터를 저장하고 로드하는 데 중요한 다른 많은 프로그램이 있습니다.

보다 복잡한 예는 공식 피클 예제를 참조하고 API 세부 정보는 공식 피클 사용 설명서를 참조하십시오. Python3에서 `rb`를 사용하고 파일을 열 때 `r`이 아니라 cos 함수가 완벽하게 실행됩니다. 그러나 이것이 항상 작동하지는 않습니다.