2010-02-02 6 views
11

J'utilise cPickle décaper une liste d'entiers, en utilisant HIGHEST_PROTOCOL,python 2.6 Résultats de cPickle.load dans EOFError

cPickle.dump(l, f, HIGHEST_PROTOCOL) 

Lorsque je tente de unpickle cela en utilisant le code suivant, je reçois un EOFError. J'ai essayé de 'chercher' pour compenser 0 avant de décocher, mais l'erreur persiste.

l = cPickle.load(f) 

Des idées?

+0

Je viens de remarquer que je ne suis pas en train d'écrire à/lecture du fichier en mode binaire. J'espère que cela va résoudre ce problème. – fsm

+0

Évidemment, je vous ai projeté cette pensée pendant que je tapais ma réponse: p –

+0

Oui, c'est tout à fait possible :-) – fsm

Répondre

19

Si vous êtes sur Windows, assurez-vous

open(filename, 'wb') # for writing 
open(filename, 'rb') # for reading 
+0

merci! cela vient juste de m'arriver :-) – fsm

+0

Merci, 7 ans plus tard, c'est encore utile! m'a aidé beaucoup;) – Breeze

+0

D'accord. Juste m'a sauvé aussi. – jbee