【发布时间】:2019-10-01 22:36:20
【问题描述】:
我的 Python3 代码中有一个大对象,当尝试使用 pickle 模块进行腌制时会引发以下错误:
TypeError: cannot serialize '_io.BufferedReader' object
但是,dill.dump() 和 dill.load() 能够无缝地保存和恢复对象。
-
pickle模块出现问题的原因是什么? - 既然
dill保存并重建对象没有任何错误,有没有办法验证dill的酸洗和解酸是否顺利? - 怎么可能
pickle失败,而dill成功?
【问题讨论】:
-
TL;DR:
pickle不像dill那样处理函数或复杂对象。我使用dill进行所有数据科学酸洗,因为模型和对象非常深入和复杂 -
Dill 也是建立在 pickle 之上的,但和上面一样,它是为 pickle 无法成功的复杂对象而设计的。
标签: python python-3.x pickle dill