On 8 fév, 11:57, Klaus Neuner <klausneune...@googlemail.com> wrote: > Hello, > > I am writing a program that analyzes files of different formats. I > would like to use a function for each format. Obviously, functions can > be mapped to file formats. E.g. like this: > > if file.endswith('xyz'): > xyz(file) > elif file.endswith('abc'): > abc(file) > > ... > > Yet, I would prefer to do something of the following kind: > > func = file[-3:] > apply_func(func, file) > > Can something of this kind be done in Python?
and with eval(), did you try ? import sys def functext(): print "texte" def funcdoc(): print "doc" def funcabc(): print "abc" if __name__ == "__main__": #replace filename with suitable value filename = sys.argv[1].split('.')[1] try: eval('func' + filename + '()') except: print 'error' -- http://mail.python.org/mailman/listinfo/python-list