使用pickle.load时返回Unpickler(文件).load()错误

时间:2017-08-03 13:47:09

标签: python

我正在使用pickle来读取文件。以下是代码

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:\Python27\lib\pickle.py", line 1378, in load
    return Unpickler(file).load()
  File "C:\Python27\lib\pickle.py", line 858, in load
    dispatch[key](self)
KeyError: '{'

我如何用pickle阅读文件

1 个答案:

答案 0 :(得分:1)

您正尝试使用https://github.com/gradle/gradle/issues/2315加载JSON文件。

pickle,而不是JSON

以下是与{'foo': 'bar'}pickle一起转发的同一json字典:

味酸

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

JSON

{"foo": "bar"}

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

改为使用json.load(filehandler)