概述
>如果任何人有一个可以腌制的SWIG扩展的来源,会喜欢看到它!
看来我应该在C代码中实现__reduce_ex__
方法.有没有人有__reduce_ex__的例子? There is similar Stackoverflow question,但省略了manager_constructor规范和实现.
所以我们来说说我们已经用SWIG生成了C类,然后我们把它包装起来
class PickalableC(C,PickalableSWIG): def __init__(self,*args): self.args = args C.__init__(self)
其中PickalableSWIG是
class PickalableSWIG: def __setstate__(self,state): self.__init__(*state['args']) def __getstate__(self): return {'args': self.args}
然后
pickle.loads(pickle.dumps(C()))
失败了,但是
pickle.loads(pickle.dumps(PickalableC()))
成功=)
总结
以上是编程之家为你收集整理的python – 如何使我的SWIG扩展模块与Pickle工作?全部内容,希望文章能够帮你解决python – 如何使我的SWIG扩展模块与Pickle工作?所遇到的程序开发问题。
如果您也喜欢它,动动您的小指点个赞吧