cPickle.UnpicklingError: 无效的加载键
我的程序在Windows上运行得很好,我使用了cpickle,并且是以二进制模式打开文件,比如'wb'(写入二进制)或'rb'(读取二进制)。当我在Linux上运行我的程序时,它也能正常工作。
但是,当我尝试在Windows平台上解压从Linux平台得到的文件时,出现了一个奇怪的错误信息:cPickle.UnpicklingError: invalid load key' '。
有没有人能告诉我这是为什么呢?
看起来我无法从Linux平台解压任何文件。
顺便说一下,我在两个平台上运行的程序是完全一样的。
非常感谢大家。
1 个回答
4
看这段代码(http://svn.python.org/view/python/trunk/Modules/cPickle.c?revision=81029&view=markup),似乎是解析错误(加载的关键字是pickle格式的关键字)。听起来这个文件可能被修改过了。
你是怎么把文件从Linux转移到Windows的?如果是用FTP传输的,是否选择了二进制模式?
(你是用HIGHEST_PROTOCOL,对吧?)