我使用的莳萝 (泡菜的高级版本)现在。 我想我的序列化对象,但我得到这个错误:
/usr/lib/python2.7/pickle.pyc in memoize(self, obj)
242 if self.fast:
243 return
--> 244 assert id(obj) not in self.memo
245 memo_len = len(self.memo)
246 self.write(self.put(memo_len))
谁能告诉我,做这个错误,或者我怎么能解决这个可能性?
没有你发布你的代码的简化版本,它很难帮助。 然而, dill
有一些内置的检测方法。 看看dill.detect
。
>>> # trace dill's pickling of objects, by printing out step by step trace
>>> dill.detect.trace(True)
或对象检查。
>>> dill.detect.badobjects(yourfailingobject, depth=1)
还有dill.detect.badtypes
等。
或者,你可以跟踪下来对象如何彼此相关,与dill.detect.parent
, dill.detect.children
, dill.detect.reference
,等等。
这是一个使用的示例dill
(加objgraph
用于可视化)来跟踪循环引用。 https://github.com/uqfoundation/dill/issues/58
还有所有的大名单dill
不知道如何连载dill._objects
-至少Python标准库的第15个部分,再加上一些其他。