python - Python3 酸洗一个对象;它的布尔属性没有正确解开
问题描述
我有一个类,可以使用该pickle
模块进行自我序列化。
这个类有一些属性,初始化为False
:
class A():
_bool_attribute = False
设置和使用 getter 和 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
但是,当使用pickle“保存”和“恢复”时,属性值并不一致:
>>> 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
?我怎样才能像班上的其他人一样正确地腌制这个值?
解决方案
推荐阅读
- python - 我正在尝试使用 QR 码扫描仪,但出现此错误:像素、宽度、高度 = 图像 TypeError: cannot unpack non-iterable NoneType object
- ruby - 在 shopify 液体 - 液体中制作自定义系列
- android - 电容文字转语音 API 无法在 android 上运行
- python - 如何在硒中等待,直到用户在控制台上输入短信代码?
- sql - 如何根据用户输入的文本模式动态检测文本模式并构建 SQL 查询(用于 Sqlite)
- java - 创建图标的问题
- html - 是否允许带有参数且不允许路径的相对链接?
- xml - 使用 xsl 展平 xml:大子节点元素的问题
- c# - 使用某个域发布时在 ASP.net 中读取/写入文件
- asp.net-core-mvc - ASP.NET Core MVC 主方法题:这些箭头函数是什么意思?