[pyar] Llamar método dinámicamente
Daniel Moisset
dmoisset en machinalis.com
Dom Jul 4 18:56:39 ART 2010
2010/7/4 Andrés Gattinoni <andresgattinoni en gmail.com>:
> 2010/7/4 SAn <gringotumadre en gmail.com>:
>> Sí, fijate por el módulo inspect, más especificamente aca:
>> http://docs.python.org/library/inspect.html#inspect.getargspec
>
> Gracias, eso era lo que necesitaba. Ahora una pregunta que debería
> haber previsto jeje. Cómo hago para llamar al método dinámicamente,
> pasandole los parámetros que corresponden.
>
> Por ejemplo:
>
> class A:
> def metodo (self, nombre, apellido):
> pass
>
> cmd = {'command': 'metodo', 'params': {'nombre': 'Andrés', 'apellido':
> 'Gattinoni'}}
>
> Cómo hago para llamar dinámicamente al método de la clase a partir de
> los datos que tengo en el diccionario?
objeto = A()
getattr(objeto, cmd['command'])(**cmd['params'])
puede ser un poquito mas complicado si tenes mezclados argumentos
posicionales y por keyword, pero esa es la idea.
Saludos,
D.
More information about the pyar
mailing list