On Jul 17, 4:41 am, "Gabriel Genellina" <[EMAIL PROTECTED]> wrote: > En Mon, 16 Jul 2007 20:13:19 -0300, Alex Popescu > <[EMAIL PROTECTED]> escribió: > > > On Jul 17, 1:44 am, Stef Mientki <[EMAIL PROTECTED]> > > wrote: > >> I want to have a (dynamically) list of all classes defined in a py-file. > >> Is there a way of getting this list, without manually parsing the file ? > > > I have written something that does something like this, but I am not > > sure it is the pythonic way. > > Bascially I am loading the module and then using dir() on the module > > object I am looking for > > attribute of the type classobj (for old style classes) and type type > > (for new style classes). > > There is also the pyclbr standard module > <http://docs.python.org/lib/module-pyclbr.html> that does not load the > module (just reparses enough of it to get the info needed). So a broken > import, or any other initialization error, won't hurt. > > > I also heard of the inspect module, but I haven't checked it yet. > > inspect.getmembers(the_module, inspect.isclass) would do. But this > requires the module to be importable. > > -- > Gabriel Genellina
I may be wrong but I think I've found a difference between my dir(module) approach and the inspect.getmembers(module, inspect.isclass): the first one returns the classes defined in the module, while the later also lists the imported available classes. ./alex -- .w( the_mindstorm )p.
-- http://mail.python.org/mailman/listinfo/python-list