我在A
模块中有consumers\a
,B
内有consumers\a
,C
内有consumers\c
。我使用以下代码来获取类。有没有其他方法可以达到同样的目的。 (这只适用于class_name.lower() == module_name
)。
bridge.py
import inspect
import types
from consumers import a
from consumers import b
from consumers import c
for name, val in globals().items():
if isinstance(val, types.ModuleType):
if 'consumers' in val.__name__:
for k, v in inspect.getmembers(val):
if k.lower() == name:
v()
我正在尝试这个,因为我不希望继任者做很多工作来增加消费者。
我看了, how-can-i-get-a-list-of-all-classes-within-current-module-in-python,/ how-do-you-get-all-classes-defined-in-a-module-but-not-imported以及更多链接,并提出了上述解决方案。
答案 0 :(得分:0)
只需导入:
from consumers.a import A
from consumers.b import B
from consumers.C import C
a = A()
b = B()
c = C()