如何在Python中获取当前模块中所有类的列表?

13 浏览
0 Comments

如何在Python中获取当前模块中所有类的列表?

我已经见过很多人从一个模块中提取所有的类的例子,通常是像这样的:

# 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(???): # 在这里该怎么办?
        if inspect.isclass(obj):
            print obj
# test.py
import foo
foo.print_classes()

这可能是一件非常明显的事情,但我找不到任何相关的信息。有人能帮帮我吗?

0