从末尾读取包含多个pickle项的文件

2024-04-27 02:49:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用Python 3.4中的pickle.dump函数将信息保存到文件中。我正在尝试读取后进先出(后进先出)形式的数据

或者,我想也许有一种方法我可以直接读最后一项,假设有一种方法可以直接指向它。然后再次指向它,并在读取下一项之前将其从文件中删除

提前谢谢


Tags: 文件数据方法函数信息dumppickle形式
1条回答
网友
1楼 · 发布于 2024-04-27 02:49:35

您可以保留项目的索引,并以新的顺序读取它们:

import pickle
data = ["this", "is", "your", "data"]
indices = [] # keep the index
with open("file_name.p", "wb") as f:
    for value in data:
        indices.append(f.tell())
        pickle.dump(value, f)

# you may want to store `indices` to files
# and read it in again
new_data = []
with open("file_name.p", "rb") as f:
    for ap in indices[::-1]:
        f.seek(ap)
        new_data.append(pickle.load(f))
print(new_data)

相关问题 更多 >