【发布时间】:2016-06-02 05:52:46
【问题描述】:
我有一个 Python 字典,其中包含我在一个文件中创建的类中的对象。它的形式为{string : object},带有几个键值对。
我的目标是在单独文件中的方法中执行某些操作,更改字典中某些对象的属性,并将这些更改保存到这些对象,同时将它们保留在字典中。
我尝试过使用 pickle,但它似乎没有将更改保存到字典中的对象。
我现在在做什么以及它有什么问题的基本想法:
文件 #1:
class A:
def __init__(self):
self.value = 0
a = A()
dict = {"Test" : a}
pickle.dump(dict, open("save.p", "wb"))
文件 #2:
dict = pickle.load(open("save.p", "rb"))
dict["Test"].value += 1
print(dict["Test"].value)
pickle.dump(dict, open("save.p", "wb"))
所以当我第一次运行文件#2 时,它应该打印1,它确实
但是当我第二次运行 File #2 时,我希望它打印 2,但它再次打印 1,因为没有保存对值的更改。
可能是我用错了泡菜……
任何帮助将不胜感激!谢谢!
【问题讨论】:
标签: python object dictionary pickle savechanges