使用XMLRPC在Python中调用动态函数

时间:2009-05-23 11:41:19

标签: python function xml-rpc rpc

我正在编写一个我打算用来创建子程序的类,构造函数如下:

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.-function name-是我在XMLRPC服务器上调用的方法。

我看过Calling a function from a string with the function's name in Python,但是看看我的serverProxy对象不知道它有哪些“远程属性”,我不能使用getattr()函数来检索方法。

我看过一个例子,通过制作一个字典来调用给定的函数,但是没有办法通过创建函数调用来使函数真正动态,就像你创建一个String一样? 就像将String作为函数运行一样?

1 个答案:

答案 0 :(得分:2)

可以使用getattr从服务器代理获取函数名称,因此调用这样的函数将起作用:

getattr(rpc, function_name)(*params)