python - 编辑 pickle 数据

标签 python storage pickle

我需要保存一段复杂的数据:

list = ["Animals", {"Cats":4, "Dogs":5}, {"x":[], "y":[]}]

我计划将其中的几个列表保存在同一个文件中,我还计划使用 pickle 模块来保存这些数据。我还希望能够访问 pickle 数据并将项目添加到第二本词典的列表中。因此,在我解开数据并进行编辑后,列表可能如下所示:

list = ["Animals", {"Cats":4, "Dogs":5}, {"x"=[1, 2, 3], "y":[]}]

最好,我希望能够将此列表(使用 pickle)保存在我从中获取该数据的同一个文件中。但是,如果我只是将数据重新 pickle 到同一个文件(假设我最初将其保存到"file"),我最终会在该文件中得到相同列表的两个副本:

a = open("File", "ab")
pickle.dump(list, a)
a.close()

有没有一种方法可以使用 pickle 替换文件中已编辑的列表,而不是添加第二个(更新的)副本?或者,我应该考虑另一种方法来保存这些数据吗?

最佳答案

我想你想要搁置模块。它创建一个文件(在引擎盖下使用 pickle),其中包含可通过键访问的变量的内容(想想持久性字典)。

关于python - 编辑 pickle 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6145334/

相关文章:

mysql - 写入很多,读取很少 - 使用什么 Mysql 存储引擎?

python - 在 Python 版本之间通过套接字发送 numpy 数组,ascii 错误

ipython - 带有 ipython 的 dill dump_session

python - Django 错误 ---index() 缺少 1 个必需的位置参数 : 'pk'

python - 在网格的小刻度的交叉点绘制标记

python - 如何使用标记将直方图转换为简单图?

c - 从 linux 内核或 udev 监听硬件变化事件

python - 当 <tr> 有 rowspan 时我该怎么办

android - 如何管理所有版本的所有本地存储(主存储,辅助存储,SD卡,USB)

python - 读取 pickle 文件时出现 AttributeError