在Python中,method_descriptor(用简单的英语)是什么?
我遇到了这个错误,但实际上找不到任何信息:
*** TypeError: can't pickle method_descriptor objects
Run Code Online (Sandbox Code Playgroud)
切换到dill。
我对调试这个错误不感兴趣......
你应该。如果您对调试错误不感兴趣,那么您就在错误的领域。为了礼貌的争论,让我们仁慈地假设您在不合理的截止日期的胁迫下撰写了该评论。(它发生了。)
标准pickle模块是不能序列化所谓的“外部类型,”包括但大概不局限于:功能与yields,嵌套函数,lambda表达式,细胞,方法,未结合的方法,模块,范围,切片,code对象,methodwrapper对象,dictproxy对象,getsetdescriptor对象,memberdescriptor对象,wrapperdescriptor对象,notimplemented对象,ellipsis对象,quit对象和(...等待它!)method_descriptor对象。
然而,一切都没有丢失。第三方dill软件包 是能够序列化所有这些类型的并且基本上更多的。由于dill是 的直接替代pickle,因此将代码库中的所有调用全局替换为pickle.dump()具有等效dill.dump()函数的函数应该足以解决有问题的方法描述符。
我只想知道 a
method_descriptor是什么,用简单的英语。
不,你没有。还有就是方法的描述没有纯英文的解释,这是因为描述协议基本方法的描述是美味的黑巫术。
这是伏都教,因为它必须是;它是 Python 核心实现函数、属性、静态方法和类方法的基础。这很黑暗,因为只有越来越少的秘密 Pythonistas 能够在野外正确实现描述符。这很好吃,因为数据描述符特别提供的功能在 Python 生态系统中是无与伦比的。
幸运的是,您不需要知道用什么方法描述符来腌制它们。您只需要切换到dill.
| 归档时间: |
|
| 查看次数: |
1661 次 |
| 最近记录: |