【发布时间】:2014-08-03 00:29:48
【问题描述】:
我有我的程序设置,所以它接受用户输入并从中创建一个对象。然后将对象存储在字典中,然后将其腌制为 .pkl 文件。写入此文件的任何新对象都使用此代码:
def save_object(obj, filename):
with open(filename, 'ab') as output:
pickle.dump(obj, output, -1)
现在,当我重新打开程序时,我需要加载字典的全部内容,我试图这样做:
self.load_file = open("Obj_file.pkl", 'rb+')
self.employee_dict = pickle.load(self.load_file)
print self.employee_dict
现在据我了解,这只会加载前两个对象,这实际上是我在运行代码时看到的结果。它只打开前两个对象。我如何加载整个字典,考虑到我所做的研究,这似乎相当困难。此外,我使用字典对我的程序至关重要,因为对象将从字典中删除,并且在执行此过程后我需要命令保持不变。
【问题讨论】:
-
dicts 没有任何顺序,如果你想要顺序使用列表
-
我知道,我的意思是我按顺序创建我的密钥,例如如果我有对象 1-3 并且我删除了键 2,我希望其他键保持不变。抱歉,如果不清楚
-
你是存储多个字典还是只存储一个?
-
我只存储一个。
-
如果您只是腌制和加载单个字典,那么问题出在哪里?
标签: python python-2.7 object dictionary pickle