imports.py 文件源码

python
阅读 27 收藏 0 点赞 0 评论 0

项目:zeus 作者: getsentry 项目源码 文件源码
def import_submodules(context: dict, root_module: str, path: str):
    """
    Import all submodules and register them in the ``context`` namespace.

    >>> import_submodules(locals(), __name__, __path__)
    """
    modules = {}
    for loader, module_name, is_pkg in pkgutil.walk_packages(path, root_module + '.'):
        # this causes a Runtime error with model conflicts
        # module = loader.find_module(module_name).load_module(module_name)
        module = __import__(module_name, globals(), locals(), ['__name__'])
        keys = getattr(module, '__all__', None)
        if keys is None:
            keys = [k for k in vars(module).keys() if not k.startswith('_')]

        for k in keys:
            context[k] = getattr(module, k, None)
        modules[module_name] = module

    # maintain existing module namespace import with priority
    for k, v in modules.items():
        context[k] = v
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号