通过__setstate__定义某个类的对象应如何被打开时,我认为可以安全地进行
def __setstate__(self, dict_returned_by_pickle):
self.__dict__.update(dict_returned_by_pickle)
当腌制状态是字典时。这就是我在answer here on stackoverflow中看到的。
但是,这是一项安全措施,以防self.__dict__
在调用__setstate__
时包含一些数据吗?或者它比做
self.__dict__ = dict_returned_by_pickle
强制旧的self.__dict__
被垃圾收集?