我在下面有一些调用 XML RPC 方法的 Python 代码:
from xmlrpclib import ServerProxy
s = ServerProxy("http://localhost:8000")
s.SomeMethod('parameter')
但是,当方法的名称 ( SomeMethod
) 仅在运行时已知时会发生什么?当方法的名称在变量中时,有什么方法可以调用方法?
我已经尝试了以下方法,但它们都不起作用:
s['SomeMethod']('parameter')
s.__getattr__('SomeMethod')('parameter')
getattr(s, 'SomeMethod')('parameter')
他们都返回:
xmlrpclib.Fault: <Fault -32601: 'Method not found'>
进一步编辑:这开始变得非常奇怪。当我使用s['SomeMethod']('parameter')
时,远程服务器报告我试图调用 XML 方法__getattr__
。