class this_obj(object): def __init__(self): self._apple = 5.0 self.observ_apple = [] def setter(self,value): if (self._apple != value): self._apple = value for callback in self.observ_apple: callback(self._apple) def getter(self): return self._apple # apply property apple = property(getter,setter) # binder functions def bind_to_apple(self,callback): self.observ_apple.append(callback)
我在另一个文件中有这个主要代码:
import handler_objdef print_on_change(value): print("apple change!!! " + str(value))if __name__ == "__main__": q = handler_obj.this_obj() q.bind_to_apple(print_on_change) print(q.getter()) q.setter(30) print(q.getter())
如果您运行此代码,您可以看到它正在运行.现在我试图用Pyro4运行相同的代码.在我这样做时,我总是遇到以下错误消息:
Pyro4.errors.SerializeError: unsupported serialized class: builtins.function
对于以下行:
q.bind_to_apple(print_on_change)
我的问题是:
这对Pyro4来说是否可能,或者这是串行器的限制?如果我尝试使用泡菜而不是蛇,这可以解决吗?
如果不是可以替代Pyro4,你可以为我建议这样的情况?
提前致谢.
解决方法 我刚刚找到了解决方案.如果将configuration.py中的序列化程序更改为dill,则还将处理函数回调. 总结以上是内存溢出为你收集整理的python – 带回调的Pyro4全部内容,希望文章能够帮你解决python – 带回调的Pyro4所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)