Python 尝试取消勾选列表时出现KeyError

Python 尝试取消勾选列表时出现KeyError,python,pickle,Python,Pickle,我有一个文件,其中包含一个经过修改的浮动列表。我可以在处理列表的同一台机器上加载列表,但当我在另一台机器上尝试时,出现以下错误: Traceback (most recent call last): File "<console>", line 2, in <module> File "/usr/lib/python2.7/pickle.py", line 1378, in load return Unpickler(file).load() File "/usr/l

我有一个文件,其中包含一个经过修改的浮动列表。我可以在处理列表的同一台机器上加载列表,但当我在另一台机器上尝试时,出现以下错误:

Traceback (most recent call last):
File "<console>", line 2, in <module>
File "/usr/lib/python2.7/pickle.py", line 1378, in load
  return Unpickler(file).load()
File "/usr/lib/python2.7/pickle.py", line 858, in load
  dispatch[key](self)
KeyError: '\x00'
回溯(最近一次呼叫最后一次):
文件“”,第2行,在
文件“/usr/lib/python2.7/pickle.py”,第1378行,已加载
返回Unpickler(file.load())
文件“/usr/lib/python2.7/pickle.py”,第858行,已加载
调度[键](自身)
KeyError:“\x00”
这两个python版本分别是2.7.0(在原始计算机上)和2.7.2(在尝试取消勾选文件的版本上)。我不认为仅仅因为这一点就应该有任何不兼容

我不认为仅仅因为这一点就应该有任何不兼容

除非2.7.0中有一些bug在最近的版本中修复了。我个人认为,最有可能的罪魁祸首是查看变更记录:

问题#7117:在几乎所有平台上:浮点到字符串和字符串到浮点 Python中的转换现在已正确舍入。放置这些转换 发生的情况包括:浮点数和复数的str;浮华与复杂 施工人员;旧式和新式数字格式;序列化和 使用marshal、pickle和json反序列化浮点数和复数; Python代码中浮点和虚字的解析;十进制浮点数 转换


我面对同样的问题,尝试了很多事情,但都没有成功。最后,我使用cPickle解决了这个问题。只要把“pickle”换成“cPickle”,一切都很好。它有完全相同的方法和参数

import cPickle

cPickle.dump()

cPickle.load()

使用Python2.7.12时,无法使用列表取消勾选json文件,即。 [{“k”:0},{“k”:1}]

cPickle没有帮助,json帮了忙:

import json
json.load(open(file))

你能多谈谈这两台机器吗?i、 它们是否都是相同的处理器架构?“浮动列表列表”是本地Python列表,还是列表的子类?显然,就是这样。我花了一段时间才升级了装有Python 2.7.0的机器。