我正在编写一个我打算用来创建子程序的类,构造函数如下:
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作为函数运行一样?
答案 0 :(得分:2)
你可以使用getattr
从服务器代理获取函数名称,因此调用这样的函数将起作用:
getattr(rpc, function_name)(*params)