def scan_package(import_path, module=None):
if module is None:
module = __import__(import_path)
basename = module.__name__ + '.'
path = getattr(module, '__path__', None)
yield module
if path is None:
return
for importer, modname, ispkg in pkgutil.iter_modules(path):
fullname = basename + modname
__import__(fullname)
submodule = getattr(module, modname)
yield submodule
if ispkg:
for m in scan_package(fullname, submodule):
yield m
评论列表
文章目录