Wie erhalten Sie alle Klassen in einem Modul definiert, aber nicht importiert?

Hab ich schon gesehen, die folgende Frage aber es hat nicht ganz bekommen, wo ich will: Wie kann ich eine Liste von allen Klassen innerhalb des aktuellen Moduls in Python?

Insbesondere möchte ich nicht, Klassen importiert werden, z.B. wenn ich das folgende Modul:

from my.namespace import MyBaseClass
from somewhere.else import SomeOtherClass

class NewClass(MyBaseClass):
    pass

class AnotherClass(MyBaseClass):
    pass

class YetAnotherClass(MyBaseClass):
    pass

Wenn ich clsmembers = inspect.getmembers(sys.modules[__name__], inspect.isclass) wie die akzeptierte Antwort in der verlinkten Frage schon sagt, würde es wieder MyBaseClass und SomeOtherClass zusätzlich zu den 3 definiert in diesem Modul.

Wie kann ich nur NewClassAnotherClass und YetAnotherClass?

InformationsquelleAutor der Frage Davy8 | 2011-04-02

Schreibe einen Kommentar