[EMAIL PROTECTED] wrote:
I'm parsing a simple file and given a line's keyword, would like to call
the equivalently named function.
There are 3 ways I can think to do this (other than a long if/elif
construct):
1. eval()
2. Convert my functions to methods and use getattr( myClass, "method" )
3. Place all my functions in dictionary and lookup the function to be
called
Any suggestions on the "best" way to do this?
Thank you,
Malcolm
--
http://mail.python.org/mailman/listinfo/python-list
You are on the right track with (2), but you need not do any conversion.
All objects that have attributes (and a function is an attribute) can
be looked up with getattr.
For instance, from a module (function getcwd from modules os):
>>> import os
>>> getattr(os,'getcwd')
<built-in function getcwd>
>>> getattr(os,'getcwd')()
'/home/gherron'
You can use getattr with objects, classes, modules, and probably more.
Gary Herron
--
http://mail.python.org/mailman/listinfo/python-list