답변:
Python 3에서 더 낮은 프로토콜 번호로 절인 데이터를 작성해야합니다. Python 3에서는 해당 번호가 포함 된 새 프로토콜을 도입 3
했으며 기본값으로 사용하므로 2
Python 2에서 읽을 수 있는 값으로 다시 전환 합니다.
에서 protocol
매개 변수를 확인하십시오 pickle.dump
. 결과 코드는 다음과 같습니다.
pickle.dump(your_object, your_file, protocol=2)
더 없습니다 protocol
에서 매개 변수 pickle.load
때문에 pickle
파일에서 프로토콜을 결정할 수는.
Pickle은 protocols
데이터를 바이너리 스트림으로 변환하기 위해 다른 것을 사용 합니다.
파이썬 2에서가 3 개의 다른 프로토콜 ( 0
, 1
, 2
) 기본입니다 0
.
파이썬 3에서가 5 개의 다른 프로토콜 ( 0
, 1
, 2
, 3
, 4
) 기본입니다 3
.
3
python 2에서 데이터를로드하려면 python 3에서보다 낮은 프로토콜 을 지정해야합니다 . protocol
를 호출 할 때 매개 변수를 지정할 수 있습니다 pickle.dump
.
5
이전 버전과 호환되지 않는 Python 3.8에도 도입 된 프로토콜 이 있습니다.