Я уже видел следующий вопрос, но он не совсем понял, где я хочу: Как я могу получить список всех классов в текущем модуле в Python?
В частности, я не хочу импортировать классы, например если бы у меня был следующий модуль:
from my.namespace import MyBaseClass
from somewhere.else import SomeOtherClass
class NewClass(MyBaseClass):
pass
class AnotherClass(MyBaseClass):
pass
class YetAnotherClass(MyBaseClass):
pass
Если я использую clsmembers = inspect.getmembers(sys.modules[__name__], inspect.isclass)
, как предполагает принятый ответ в связанном вопросе, он возвращает MyBaseClass
и SomeOtherClass
в дополнение к 3, определенным в этом модуле.
Как я могу получить только NewClass
, AnotherClass
и YetAnotherClass
?