On Tue, May 20, 2008 at 01:48:03PM -0400, Kent Johnson wrote: > > Note: types.ClassObj is the type of old-style classes. The OP used > new-style classes which are of type type. Using type(A) for the > comparison means it will work with either kind of classes as long as > they are the same. You could also use inspect.isclass() to decide if > it is a class.
Using the inspect module sounds like a good suggestion to me. I'm wondering why we don't use the inspect module all the way. Here is a bit of code: import inspect # Import the module containing the classes we want to list. import test_inspect_data def test(): outer_classes = inspect.getmembers(test_inspect_data, inspect.isclass) print outer_classes for name, class_ in outer_classes: inner_classes = inspect.getmembers(class_, inspect.isclass) print inner_classes if __name__ == '__main__': test() Which prints out: [('A', <class 'test_inspect_data.A'>)] [('B', <class 'test_inspect_data.B'>), ('C', <class 'test_inspect_data.C'>), ('__class__', <type 'type'>)] - Dave -- Dave Kuhlman http://www.rexx.com/~dkuhlman _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor