我的Python3代码中有一个大对象,当尝试用pickle模块对其进行筛选时,会抛出以下错误:
TypeError: cannot serialize '_io.BufferedReader' object但是,dill.dump()和dill.load()能够无缝地保存和恢复对象。
pickle模块的问题?dill进行的酸洗和去酸洗是否顺利?pickle失败,但dill成功?H 215G 216/code>发布于 2019-10-02 00:25:13
我是dill的作者。
1)最简单的方法是查看这个文件:https://github.com/uqfoundation/dill/blob/master/dill/_objects.py,它列出了pickle可以序列化什么,dill可以序列化什么。
2)您可以尝试dill.copy、dill.check和dill.pickles来检查不同级别的酸洗和不腌渍。dill还包括用于检测和诊断dill.detect和dill.pointers中的序列化问题的实用程序。
3) dill建立在pickle的基础上,通过注册新的序列化函数对其进行扩展。
4) dill包含序列化变体,使用户能够从不同的对象依赖序列化策略(在dill.settings中)中选择--包括源代码提取和dill.source对象重构(以及stdlib inspect模块的扩展)。
https://stackoverflow.com/questions/58193119
复制相似问题