importlib 模块导入

孤人 提交于 2020-03-11 08:24:12

 

#1、动态导入模块
script_name = scripts.utils
module = importlib.import_module(script_name)    # 动态导入相应模块

#2、模块引入检查
import importlib.util
import importlib

def check_module(module_name):
    '''
    检查module_name模块是否存在
    '''
    module_spec = importlib.util.find_spec(module_name)
    if module_spec is None:
        print("Module :{} not found".format(module_name))
        return None
    else:
        print("Module:{} can be imported!".format(module_name))
        return module_spec

def import_module_from_spec(module_spec):
    '''
    动态导入模块
    '''
    module = importlib.util.module_from_spec(module_spec)
    module_spec.loader.exec_module(module)
    # module = importlib.import_module(script_name)
    return module

if __name__ == "__main__":
    module_spec = check_module("fake_module")
    module_spec = check_module("collections")
    if (module_spec):
        module = import_module_from_spec(module_spec)
        print(dir(module))

参考:https://blog.csdn.net/xc_zhou/article/details/80921546

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!