I need to loop through a lot of different files and (try) extract the metadata from the files.
I can make a big if ... elif ... and check for each extension, but I think it would be much easier to store the extension in a variable, check if there is a function with that name and execute it.
This is my current solution, taken from another stackoverflow:
try: getattr(modulename, funcname)(arg) except AttributeError: print 'function not found "%s" (%s)' % (funcname, arg)
The problem with this: If the underlying function raises the AttributeError attribute, it is logged as a "function not found" error. I can add try ... besides blocks to all functions, but that would not be particularly nice ...
What I'm looking for is more like:
if function_exists(fun): execute_function(fun, arg)
Is there an easy way to do this?
Thanks: -)
Carpetsmoker
source share