As stated in the pickle
documentation ,类通常以这样一种方式进行 pickle ,即它们要求完全相同的类出现在接收端的模块中。但是,我确实注意到类还有一些 __getstate__()
和 __setstate__()
方法,这会影响它们的实例如何被 pickle...
创建一个允许对从该元类(换句话说,该元类的实例)创建的类(换句话说,该元类的实例)进行 pickle 和 unpickling 的元类,即使类不存在于接收端,这有多可行? (虽然我认为元类可能必须存在。)
在类或元类中使用 __reduce__()
方法是否也值得研究?
最佳答案
类必须以某种方式出现在接收端,因为方法不与对象一起存储。所以,我认为不幸的是,使用特定的元类在这里无济于事……
关于python - 未在接收端定义的 Unpickling 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6696729/