gpt4 book ai didi

python - 通过 Pyro 传输对象

转载 作者:太空狗 更新时间:2023-10-30 02:50:42 25 4
gpt4 key购买 nike

我在项目中使用 Pyro,似乎无法理解如何通过网络传输完整的对象。该对象分布式(我的分布式对象工作得很好),但应该作为一个已经可用的分布式对象的参数。

我的对象派生自自定义类,其中包含一些方法和一些变量——一个整数和一个列表。该类可用于服务器和客户端。当使用我的对象作为分布式对象方法的参数时,整数变量被正确地“接收”,但列表是空的,即使我可以看到它包含在它被“发送”之前的值。

这是为什么?

类的简短版本:

class Collection(Pyro.core.ObjBase):
num = 0
operations = [("Operation:", "Value:", "Description", "Timestamp")]

def __init__(self):
Pyro.core.ObjBase.__init__(self)

def add(self, val, desc):
entry = ("Add", val, desc, strftime("%Y-%m-%d %H:%M:%S"))
self.operations.append(entry)
self.num = self.num + 1

def printop(self):
print "This collection will execute the following operations:"
for item in self.operations:
print item

分布式对象中的接收方法:

def apply(self, collection):
print "Todo: Apply collection"
#op = collection.getop()
print "Number of collected operations:", collection.a
collection.printop()

最佳答案

Operations是类属性,不是对象属性。这就是为什么它没有被转移。尝试在 __init__ 中设置它通过self.operations = <whatever> .

关于python - 通过 Pyro 传输对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/487553/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com