【发布时间】:2011-05-26 21:30:18
【问题描述】:
我需要保存一段复杂的数据:
list = ["Animals", {"Cats":4, "Dogs":5}, {"x":[], "y":[]}]
我计划将其中几个列表保存在同一个文件中,并且我还计划使用 pickle 模块来保存这些数据。我还希望能够访问腌制数据并将项目添加到第二个字典的列表中。因此,在我解开数据并进行编辑后,列表可能如下所示:
list = ["Animals", {"Cats":4, "Dogs":5}, {"x"=[1, 2, 3], "y":[]}]
最好,我希望能够将此列表(使用pickle)保存在我从中获取该数据的同一个文件中。但是,如果我只是简单地将数据重新腌制到同一个文件中(假设我最初将其保存到“文件”中),我最终会在该文件中得到同一个列表的两个副本:
a = open("File", "ab")
pickle.dump(list, a)
a.close()
有没有办法使用 pickle 替换文件中已编辑的列表,而不是添加第二个(更新的)副本?或者,我应该考虑另一种方法来保存这些数据吗?
【问题讨论】: