1

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

def __init__(self,menuText,RPC_params,RPC_call):
   #Treat the params
   #Call the given RPC_call with the treated params

问题是我想在模式“ rpc.serve.(function name here)(params) ”上调用函数,其中 rpc 是我用来调用 XMLRPC 函数的 serverProxy 对象,并且 serve.-function name - 是我在 XMLRPC 服务器上调用的方法。

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

我已经看到了一个通过制作字典来调用给定函数的示例,但是没有办法像创建字符串一样通过创建函数调用来使函数真正动态化吗?就像将字符串作为函数运行一样?

4

1 回答 1

2

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

getattr(rpc, function_name)(*params)
于 2009-05-23T11:53:56.240 回答