XMLRPCメソッドを呼び出す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__
。