Динамические вызовы функций в Python с использованием XMLRPC - PullRequest
1 голос
/ 23 мая 2009

Я пишу класс, который я намерен использовать для создания подпрограмм, конструктор следующим образом:

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

Проблема в том, что я хочу вызвать функцию по шаблону " rpc.serve. (Имя функции здесь) (params) ", где rpc - это объект serverProxy, который я использую для вызова функций XMLRPC, а serve.-function name- это метод, который я вызываю на XMLRPC-сервере.

Я смотрел на Вызов функции из строки с именем функции в Python , но, видя, как мой объект serverProxy не знает, какие у него «удаленные атрибуты», я не могу использовать getattr () функция для извлечения метода.

Я видел пример создания словаря для вызова заданной функции, но нет ли способа сделать функцию действительно динамичной, создавая вызов функции, как если бы вы создавали строку? Как запуск String как функции?

1 Ответ

2 голосов
/ 23 мая 2009

Вы можете использовать getattr для получения имени функции от прокси сервера, поэтому вызов функции, подобной этой, будет работать:

getattr(rpc, function_name)(*params)
...