Найти - Пользователи
Полная версия: имя метода из строки
Начало » Python для новичков » имя метода из строки
1
goblin_maks
работая с xml-rpc сервером в dict e получаю список его функций, клиентом надо прогнать их все..

но на клиенте каждeую зарезервированую функцию приходится вызывать как метод..

хочу для гибкости сделать чтото подобное..

def sendRequest(self, request, params):
exec('response = self.proxy.' + request + '(' + params + ')')
#response = self.proxy.request(params)
return response
понимаю что через exec это не правильно.. и выглядит криво..
как сделать по нормальному ?
meticulos.slacker
response = getattr(self.proxy, request)(params) ?
Dimka665
response = eval('self.proxy.%s(%s)' % (request, params))
Андрей Светлов
getattr выглядит кошернее. А на __str__ слетят, как минимум, xmlrpc.DateTime и xmlrpc.Binary
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB