使用XMLRPC在Python中动态调用函数
我正在写一个类,打算用它来创建子程序,构造函数如下:
def __init__(self,menuText,RPC_params,RPC_call):
#Treat the params
#Call the given RPC_call with the treated params
问题是我想用这种格式来调用函数:rpc.serve.(函数名)(参数),其中rpc是我用来调用XMLRPC函数的serverProxy对象,而serve.-函数名-是我在XMLRPC服务器上调用的方法。
我查过一个链接,讲的是如何通过字符串调用函数,具体是关于Python的。但是因为我的serverProxy对象不知道它有哪些“远程属性”,所以我不能用getattr()函数来获取这个方法。
我看到过一个例子是通过创建一个字典来调用特定的函数,但有没有办法让这个函数调用真正动态,就像创建一个字符串一样?就像把字符串当作函数来运行?
1 个回答
2
你可以使用 getattr
来从服务器代理中获取函数名,所以像这样调用这个函数是可以的:
getattr(rpc, function_name)(*params)