programing

ValueError: 지원되지 않는 피클 프로토콜: 3, python2 피클은 python3 피클이 덤프한 파일을 로드할 수 없습니까?

magicmemo 2023. 6. 30. 22:14
반응형

ValueError: 지원되지 않는 피클 프로토콜: 3, python2 피클은 python3 피클이 덤프한 파일을 로드할 수 없습니까?

피클을 사용하여 python 3에 파일을 덤프하고 피클을 사용하여 파일을 python 2에 로드하면 ValueError가 나타납니다.

그럼 python 2 피클은 python 3 피클이 덤프한 파일을 로드할 수 없는 건가요?

내가 원하면요?어떻게 하는 거지?

당신은 Python 3에서 더 낮은 프로토콜 번호로 피클된 데이터를 작성해야 합니다.Python 3은 다음과 같은 번호를 가진 새로운 프로토콜을 도입했습니다.3(및 기본값으로 사용), 다시 다음 값으로 전환합니다.2Python 2에서 읽을 수 있습니다.

확인:protocol의 매개 변수입니다. 결과 코드는 다음과 같습니다.

pickle.dump(your_object, your_file, protocol=2)

거기에는 없다protocol매개 변수가 다음과 같습니다.pickle파일에서 프로토콜을 결정할 수 있습니다.

피클은 다른 용도로 사용됩니다.protocols데이터를 이진 스트림으로 변환합니다.

python 3에서 다음보다 낮은 프로토콜을 지정해야 합니다.3파이썬 2에서 데이터를 로드할 수 있도록 하기 위해.다음을 지정할 수 있습니다.protocol매개 변수를 호출합니다.

언급URL : https://stackoverflow.com/questions/25843698/valueerror-unsupported-pickle-protocol-3-python2-pickle-can-not-load-the-file

반응형