你绝对可以泡菜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>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)