如何读取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