"eval vs operator.methodcaller" - which is better?

Chris Angelico rosuav at gmail.com
Mon Mar 18 09:39:10 EDT 2013


On Tue, Mar 19, 2013 at 12:30 AM, Laxmikant Chitare
<laxmikant.general at gmail.com> wrote:
> moduleName = 'mymodule'    #These two variables are read from conf file.
> methodName = 'mymethod'
>
> import operator
> myModule = __import__('mymodule')
> myMethod = operator.methodcaller('mymethod')
> val = myMethod(myModule)
> print val

Is there any reason not to do the obvious?

val = myModule.__getattribute__(methodName)(... args ...)

Works in 2.6 and 3.3, at least on the trivial example I tried.

ChrisA



More information about the Python-list mailing list