On Apr 17, 5:23 pm, Scott David Daniels <scott.dani...@acm.org> wrote: > Marco Mariani wrote: > > Piet van Oostrum wrote: > > >> funclist = [func01, func02, func03, ... ] > >> for i in range(1,n): > >> funclist[i]() > > >> Or myscript.funclist[i]() from another module. > > > Ehm, calling a bazillion things in the right order should be a > > responsibility of the myscript module anyway. > > For example, you could do it like: > > myscript.py: > funclist = [] > > def _included(function): > funclist.append(function) > return function > > �...@_included > def func01(): > ... > > �...@_included > def func02(): > ... > > def call_all(): > for function in funclist: > function() > > --Scott David Daniels > scott.dani...@acm.org
This code does the same as '__all__' should, but anyway it's the ugly way, because you have to edit '__all__' every time you add/remove new functions to your module and if '__all__' is absent your code won't work. As for me the best solution is to use 'dir()': for func in dir(myscript): if match(func): getattr(myscript, func)() -- http://mail.python.org/mailman/listinfo/python-list