【发布时间】:2015-02-05 09:08:23
【问题描述】:
我在模块consumers\a 内部有课程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 和更多链接,并提出了上述解决方案。
【问题讨论】:
-
你想做什么?这是XY problem吗?
标签: python