下面的代码用作SimpleXMLRPCServer的一部分,用于从我编写的Java客户机接收命令。Java客户机将只调用这个execute函数并从CameraAssembler类传入一个函数名。在
from nsCamera.CameraAssembler import CameraAssembler
class MyFunctions:
ca = None
def initialize(self):
# Create Camera object
self.ca = CameraAssembler(commname=COMM, boardname=BOARD, sensorname=SENSOR, verbose=True)
return True
def execute(self, code):
func = getattr(self.ca,code)
output = func()
return output
myfuncs = MyFunctions()
myfuncs.initialize()
output = myfuncs.execute('arm()')
print(output)
输出:
^{pr2}$
你的括号放错地方了。这个属性不是
arm()
,而是arm
;您需要调用获取该属性的结果。在(注意,这段代码不是特别惯用的。特别是,我不明白为什么要将
ca
设置为类属性,而不是实例属性。另外,初始化通常在__init__
方法中进行,该方法在实例化时自动调用。)相关问题 更多 >
编程相关推荐