-1

我是 python 新手。我有一个文件data.pkl。我想做的是从文件中获取数据。我查看了http://docs.python.org/library/pickle.html, 11.1.7 示例并尝试了。我的代码如下所示:

import pprint, pickle

pkl_file = open('data.pkl', 'rb')

data1 = pickle.load(pkl_file)
pprint.pprint(data1)

pkl_file.close()

但它给了我错误:

Traceback (most recent call last):
  File "/home/sadiksha/workspace/python/test.py", line 5, in <module>
    data1 = pickle.load(pkl_file)
  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)
  File "/usr/lib/python2.7/pickle.py", line 966, in load_string
    raise ValueError, "insecure string pickle"

谁能告诉我我在这里做错了什么?

4

1 回答 1

2

似乎您的泡菜文件没有正确写入(指定'wb')或文件以某种方式损坏。尝试创建自己的泡菜文件并将其读回。这应该可以解决问题。

至于指定的pickle文件,它肯定已损坏。

于 2012-05-29T10:48:10.617 回答