在Python中腌制weakref

在Python中腌制weakref,第1张

在Python中腌制weakref

你绝对可以泡菜a

weakref
,泡菜a
dict
和a
list
。但是,实际上它们包含的内容很重要。如果
dict
list
包含不可拾取的intem,则酸洗将失败。如果您想泡菜
weakref
,就必须使用
dill
而不是
pickle
weakref
但是,未经挑选的反序列化为无效参考。

>>> import dill>>> import weakref>>> dill.loads(dill.dumps(weakref.WeakKeyDictionary()))<WeakKeyDictionary at 4528979192>>>> dill.loads(dill.dumps(weakref.WeakValueDictionary()))<WeakValueDictionary at 4528976888>>>> class _class:...   def _method(self):...     pass... >>> _instance = _class()>>> dill.loads(dill.dumps(weakref.ref(_instance)))<weakref at 0x10d748940; dead>>>> dill.loads(dill.dumps(weakref.ref(_class())))<weakref at 0x10e246a48; dead>>>> dill.loads(dill.dumps(weakref.proxy(_instance)))<weakproxy at 0x10e246b50 to NoneType at 0x10d481598>>>> dill.loads(dill.dumps(weakref.proxy(_class())))<weakproxy at 0x10e246ba8 to NoneType at 0x10d481598>


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5674886.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存