如何读取pickle文件?

我创建了一些数据并将其存储了几次,如下所示:

with open('filename', 'a') as f:

pickle.dump(data, f)

每次文件大小增加,但是当我打开文件时

with open('filename', 'rb') as f:

x = pickle.load(f)

我只能看到上次的数据。如何正确读取文件?

回答:

Pickle一次序列化一个对象,然后读回一个对象-腌制的数据按顺序记录在文件上。

如果您只是简单地这样做pickle.load,则应该读取序列化到文件中的第一个对象(而不是您编写的最后一个对象)。

对第一个对象进行反序列化后,文件指针位于下一个对象的开头-如果您pickle.load再次调用,它将读取下一个对象-这样做直到文件结束。

objects = []

with (open("myfile", "rb")) as openfile:

while True:

try:

objects.append(pickle.load(openfile))

except EOFError:

break

以上是 如何读取pickle文件? 的全部内容, 来源链接: utcz.com/qa/423775.html

回到顶部