Esta es la forma en que el código es

with open(pickle_f, 'r') as fhand:
    obj = pickle.load(fhand)

Esto funciona bien en sistemas Linux, pero no en Windows. Su muestra EOFError.
Tengo que usar rb modo de hacer que funcione en Windows.. ahora esto no funciona en Linux.

Por qué ocurre esto y cómo solucionarlo?

Cuando se creó el pepinillo objeto, ¿qué OS hizo usted cree? Linux o Windows? Yo no creo que usted podría crear un pepinillo objeto en un sistema de carga y de otros
El código fue escrito en Linux.. I (dev) que trabajan en windows… pero ya que es un proyecto de Django, me genera todo bien en mi sistema de nuevo..
asegúrese de que usted puede. mientras se abre archivos en modo binario en ambos extremos, para evitar la nueva línea de incompatibilidad.
Posibles duplicados de python 2.6 cPickle.los resultados de carga en EOFError

OriginalEl autor Surya | 2013-03-30

1 Comentario

  1. 25

    Siempre uso b modo cuando la lectura y la escritura encurtidos (open(f, 'wb') para escribir, open(f, 'rb') para la lectura). Para «arreglar» el archivo ya tiene, convertir su nueva línea mediante dos2unix.

    No su trabajo en Windows, por lo que debería estar haciendo unix2dos
    mi mal! confundida con ella
    no un r+b trabajo?
    ¿a qué te refieres? ¿por qué usted necesita r+b aquí?
    Yo tenía el mismo problema, pero era porque mi generado previamente el archivo no tiene la b bandera cuando es creado. Gracias por la sugerencia!

    OriginalEl autor shx2

Dejar respuesta

Please enter your comment!
Please enter your name here