inspectを使えば簡単にできる。
class MyClass(object):
pass
def func():
pass
な感じのmymodule.py があるとして
#!/usr/bin/env python
import inspect
import mymodule
for name, member in inspect.getmembers(mymodule):
if inspect.isclass(member):
print "%s is class." % name
みたいにやれば mymodule からクラスだけ抜き出せる。
inspectというモジュールはリンク先のマニュアルをざっと見てもらえばわかるように、モジュールやクラスや関数のメタ情報を色々取れるので超絶便利である。これは本当にすごい。