python – 带回调的Pyro4

python – 带回调的Pyro4,第1张

概述我在py文件中有以下类定义: class this_obj(object): def __init__(self): self._apple = 5.0 self.observ_apple = [] def setter(self, value): if (self._apple != value): 我在py文件中有以下类定义:

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所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/langs/1197603.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存