使用 XMLRPC 在 Python 中进行动态函数调用
我正在编写一个类,打算用它来创建子例程和构造函数,如下所示:
def __init__(self,menuText,RPC_params,RPC_call):
#Treat the params
#Call the given RPC_call with the treated params
问题是我想在模式“rpc.serve.(此处为函数名称)(params)”, 其中 rpc 是我用来调用 XMLRPC 函数的 serverProxy 对象,而serve.-function name- 是我在 XMLRPC 服务器上调用的方法。
我看过 调用函数来自 Python 中带有函数名称的字符串,但是看到我的 serverProxy 对象如何不知道它具有哪些“远程属性”,我无法使用 getattr() 函数来检索该方法。
我见过一个通过创建字典来调用给定函数的示例,但是没有办法通过像创建字符串一样创建函数调用来使该函数真正动态化吗? 就像将字符串作为函数运行一样?
I'm writing a class which I intend to use to create subroutines, constructor as following:
def __init__(self,menuText,RPC_params,RPC_call):
#Treat the params
#Call the given RPC_call with the treated params
The problem is that I want to call the function on the pattern "rpc.serve.(function name here)(params)",
where rpc is a serverProxy object that I'm using to call XMLRPC functions, and serve.-function name- is the method I'm calling on the XMLRPC-server.
I've looked at Calling a function from a string with the function's name in Python, but seeing how my serverProxy object doesnt know which "remote attributes" it have, I cant use the getattr() function to retrieve the method.
I've seen a example by making a dictionary to call a given function, but is there no way to make the function truly dynamic by creating the function call as you would create a String?
Like running a String as a function?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用
getattr
从服务器代理获取函数名称,因此像这样调用该函数是可行的:You can use
getattr
to get the function name from the server proxy, so calling the function like this will work: