• Python3 动态导入模块的两种方式


    动态导入模块就是只知道str类型的模块名字符串,通过这个字符串导入模块

    需要导入的模块:

    #!/usr/bin/env python
    # _*_ coding:utf-8 _*_
    # Author:CarsonLi
    
    class Ccc(object):
        def __init__(self,name):
            self.name=name
    

    目录结构:

    第一种方式:python解释器内部使用,不建议用

    #!/usr/bin/env python
    # _*_ coding:utf-8 _*_
    # Author:CarsonLi
    '''Python 解释器内部动态导入方式'''
    module_name='import_lib.metaclass' #模块名的字符串
    import_lib=__import__(module_name) #这是解释器自己内部用的
    '''import_lib代表的其实是这个模块,而不是下面的metaclass'''
    
    c=import_lib.metaclass.Ccc("Bert")#调用下面的方法
    print(c.name) #运行结果:Bert
    

    第二种方式:与上面效果一样,官方建议用这个

    #!/usr/bin/env python
    # _*_ coding:utf-8 _*_
    # Author:CarsonLi
    '''官方建议用这个'''
    import importlib
    module_name='import_lib.metaclass' #模块名的字符串
    metaclass=importlib.import_module(module_name) #导入的就是需要导入的那个metaclass
    c=metaclass.Ccc("Bert") #调用下面的方法
    print(c.name)  #运行结果:Bert
    

      

  • 相关阅读:
    Python发邮件的小脚本
    收集服务器网卡和IP信息
    Parent Proxy 和 Origin Server配置学习
    ATS 自定义日志格式
    css之选择器篇
    css之入门篇
    javascript必须懂之冒泡事件
    HTML5之语义化标签
    HTML之总结
    随堂笔记之正则与HTML5新元素
  • 原文地址:https://www.cnblogs.com/bert227/p/9786784.html
Copyright © 2020-2023  润新知