2010-08-26 2 views
5

Mein Programm funktioniert gut auf Windows, mit cpickle, und ich bin im binären Modus, wie 'wb' oder 'rb'. Wenn ich mein Programm unter Linux ausführte, funktioniert es immer noch gut.cPickle.UnpicklingError: Ungültige Lade-Taste

Aber als ich versuchte, die Dateien von der Linux-Plattform auf meiner Windows-Plattform zu entpacken, bekam ich diese verdrahtete Nachricht sagt: cPickle.UnpicklingError: ungültiger Ladeschlüssel ' '.

Kann mir bitte jemand sagen warum?

Es scheint, dass ich keine Datei von der Linux-Plattform abkoppeln konnte.

BTW, die zwei Programme, die ich ausführen, sind identisch.

Danke eine Million.

Antwort

4

Betrachtet man den Code (http://svn.python.org/view/python/trunk/Modules/cPickle.c?revision=81029&view=markup), sieht es so aus, als wäre es ein Parsing-Fehler (load key ist ein Pickle-Format-Schlüssel). Es klingt wie die Datei geändert wurde.

Wie wurden die Dateien von Linux nach Windows übertragen? Wenn es FTP war, haben Sie im Binärmodus übertragen?

(Sie verwenden HIGHEST_PROTOCOL richtig?)

+0

Vielen Dank! Es ist der Übertragungsmodus. Binärer Modus hat das Problem wirklich gelöst !! – beryl83