在使用 pickle.load 时返回 Unpickler(file).load() 错误



我正在使用泡菜来读取文件。下面是代码

import pickle
fil = open("check", "rb")
res = pickle.load(fil)
print res
fil.close()

我收到错误,因为

File "inter.txt", line 20, in <module>
res = pickle.load(fil)
File "C:Python27libpickle.py", line 1378, in load
return Unpickler(file).load()
File "C:Python27libpickle.py", line 858, in load
dispatch[key](self)
KeyError: '{'

我如何用泡菜读取文件

您正在尝试加载带有pickleJSON文件。

Pickle的格式是Python特有的,而不是JSON的。

这是用picklejson倾倒的相同{'foo': 'bar'}字典:

泡菜

(dp0
S'foo'
p1
S'bar'
p2
s.

JSON:

{"foo": "bar"}

如您所见,pickle的序列化实际上与JSON格式不同。


改用json.load(filehandler)

最新更新