Дамјан Георгиевски wrote: > I need to programmaticaly enumerate all the classes in a given module. > Currently I'm using dir(module) but the Notice on the documentation page > [1] says "dir() is supplied primarily as a convenience for use at an > interactive prompt" so that kind of scares me. > > Is there a better approach? > > If there is, how do I get all the classes of the current module?
inspect.getmembers(module, inspect.isclass), but this uses dir() internally. You may have to remove imported classes: >>> def getclasses(module): ... def accept(obj): ... return inspect.isclass(obj) and module.__name__ == obj.__module__ ... return [class_ for name, class_ in inspect.getmembers(module, accept)] ... >>> getclasses(inspect) [<class 'inspect.ArgInfo'>, <class 'inspect.ArgSpec'>, ...] Peter -- http://mail.python.org/mailman/listinfo/python-list