open how example datacamp custom python python-2.7 python-3.x pickle

how - pickle python example



ValueError: protocolo pickle no compatible: 3, python2 pickle no puede cargar el archivo volcado por python 3 pickle? (2)

Utilizo Pickle para volcar un archivo en Python 3, y uso Pickle para cargar el archivo en Python 2, aparece ValueError.

Entonces, python 2 pickle no puede cargar el archivo volcado por python 3 pickle?

Si lo quiero? ¿Cómo hacer?


Pickle usa diferentes protocols para convertir tus datos a una secuencia binaria.

Debe especificar en python 3 un protocolo inferior a 3 para poder cargar los datos en python 2. Puede especificar el parámetro de protocol al invocar pickle.dump .


Debería escribir los datos en escabeche con un número de protocolo inferior en Python 3. Python 3 introdujo un nuevo protocolo con el número 3 (y lo usa como valor predeterminado), así que vuelva a un valor de 2 que Python 2 pueda leer.

Verifique el parámetro de protocol en pickle.dump . El código resultante se verá así.

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

No hay un parámetro de protocol en pickle.load porque pickle puede determinar el protocolo del archivo.