需求:给你一个 str,表示模块名,获取这个模块下面所有的 class name
差不多就是这个函数:
def get_class_names(module_name: str) -> List[str]:
函数定义好了,就让我们来它增加函数体吧!
这个时候我们需要借助一个内部库 inspect
来帮助我们更加简单优雅的实现功能
完整功能就贴下面了:
import sys
import inspect
from typing import List
module_name = 'services.events'
def get_class_names(module_name: str) -> List[str]:
__import__(module_name)
module = sys.modules[module_name]
return [
class_name
for class_name, class_object in
inspect.getmembers(module, inspect.isclass)
]
class_names = get_class_names(module_name)
print(class_names)
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。