質問

私はサブルーチンを作成するために使用するクラスを書いて、次のようにコンストラクタます:

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関数を呼び出すために使用している、とserve.機能名 - 私はXMLRPCサーバー上で呼んでいる方法であるServerProxyはオブジェクトです。

私は見てきましたPythonのの中の関数の名前を持つ文字列から関数を呼び出すと、私はServerProxyオブジェクトは、それは、私が方法を取得するためのgetattr()関数を使用するカント持っている「リモート属性」を知っているdoes notの方法を見ます。

私は与えられた関数を呼び出すために辞書を作ることによって例を見てきましたが、あなたは文字列を作成して関数呼び出しを作成することで機能を真に動的にする方法はありませんか? 関数として文字列を実行しているような?

役に立ちましたか?

解決

あなたははので、このような機能は動作します呼び出し、サーバープロキシから関数名を取得するためにgetattrを使用することができます<全角>

getattr(rpc, function_name)(*params)
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top