特定の TargetClass からのみ派生するモジュールからクラスを取得する必要があります。
import mymodule as t
for att in dir(t):
someclass = getattr(t, att)
if isinstance(someclass, TargetClass):
print ("Do something with %s" % att)
まあ...これはうまくいかないので、モジュールの属性が呼び出し可能でない場合は、インスタンスを作成し、例外をキャッチする必要があります:
import mymodule as t
for att in dir(t):
someclass = getattr(t, att)
try:
if isinstance(someclass(), TargetClass):
print ("Do something with %s" % att)
except:
pass
では、インスタンスを作成して例外をキャッチすることなく、TargetClass のサブクラスである mymodule からこれらのクラスのみを取得するにはどうすればよいでしょうか?