ValueError: не поддерживается рассол протокола: 3, вместо python2 рассольник нельзя загрузить файл бросил на Python 3 огурчика?
Я использую pickle для сброса файла на python 3, и я использую pickle для загрузки файла на python 2, появляется ValueError.
Итак, в Python 2 рассольник нельзя загрузить файл бросил на Python 3 огурчика?
Если я этого хочу? Как это сделать?
2 ответа:
вы должны написать маринованные данные с более низким номером протокола в Python 3. Python 3 представил новый протокол с номером
3
(и использует его по умолчанию), чтобы вернуться к значению2
который может быть прочитан Python 2.Регистрация
рассол использует разные
protocols
для преобразования данных в двоичный поток.
в python 2 есть 3 разных протокола (
0
,1
,2
) и по умолчанию0
.в python 3 есть 5 различных протоколов (
0
,1
,2
,3
,4
) и по умолчанию3
.вы должны указать в python 3 протокол ниже, чем
3
для того, чтобы иметь возможность загружать данные в python 2. Вы можете указать