Python3腌制对象;其布尔属性未正确解开

问题描述

我有一个可以使用pickle模块进行序列化的类。

此类具有一些属性,这些属性被初始化为False

class A():
    _bool_attribute = False

设置和使用字母和setter,如下所示:

@property
    def bool_attribute(self):
        return self._bool_attribute

@bool_attribute.setter
    def bool_attribute(self,b):
        self._bool_attribute = b

有一些方法可以更改这些属性,例如:

def method_ex(self):
    self.bool_attribute = True

但是,当使用咸菜进行“保存”和“恢复”时,属性值不一致:

>>> s = A()
>>> s.method_ex()
>>> s.bool_attribute
True
>>> s.save()
>>> t = A()
>>> t.load()
>>> t.bool_attribute
False

“保存”和“加载”就是这样完成的:

def save(self):
    pickle.dump(self,open("file","wb"))

def load(self):
    self = pickle.load(open("file"),"rb))

为什么属性值不能同时为True?我该如何像在课堂上其他课程中那样适当地腌制该值?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)