调试Pickle

调试Pickle,第1张

调试Pickle

为此,我将使用dill,它可以将python中的几乎所有内容序列化。Dill还有一些很好的工具,可以帮助您了解在代码失败时导致酸洗失败的原因。

>>> import dill>>> dill.loads(dill.dumps(your_bad_object))>>> ...>>> # if you get a pickling error, use dill's tools to figure out a workaround>>> dill.detect.badobjects(your_bad_object, depth=0)>>> dill.detect.badobjects(your_bad_object, depth=1)>>> ...

如果绝对需要,则可以使用莳萝

badobjects
(或其他检测功能之一)递归地深入对象的参考链,并d出无法钻探的对象,而不是像上面那样在每个深度调用它。

同样,objgraph对测试套件也很方便。

>>> # visualize the references in your bad objects>>> objgraph.show_refs(your_bad_object, filename='your_bad_object.png')


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存