how to find available classes in a file ?

Gabriel Genellina gagsl-py2 at yahoo.com.ar
Mon Jul 16 21:41:56 EDT 2007


En Mon, 16 Jul 2007 20:13:19 -0300, Alex Popescu  
<the.mindstorm.mailinglist at gmail.com> escribió:

> On Jul 17, 1:44 am, Stef Mientki <S.Mientki-nos... at mailbox.kun.nl>
> 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




More information about the Python-list mailing list