我见过很多人从模块中提取所有类的例子,通常是这样的:
# foo.py
class Foo:
pass
# test.py
import inspect
import foo
for name, obj in inspect.getmembers(foo):
if inspect.isclass(obj):
print obj
惊人的。
但我无法找到如何从 当前 模块中获取所有类。
# foo.py
import inspect
class Foo:
pass
def print_classes():
for name, obj in inspect.getmembers(???): # what do I do here?
if inspect.isclass(obj):
print obj
# test.py
import foo
foo.print_classes()
这可能是非常明显的事情,但我还没有找到任何东西。谁能帮我吗?
原文由 mcccclean 发布,翻译遵循 CC BY-SA 4.0 许可协议
试试这个:
在您的上下文中:
甚至更好:
因为
inspect.getmembers()
采用谓词。