zoukankan      html  css  js  c++  java
  • 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
    

      

  • 相关阅读:
    mongdb
    网络编程
    分布式锁与事务
    mongodb
    Angular4
    思考
    kafka
    Spark总结
    你不知道的javaScript笔记(1)
    vue2.0 配置 选项 属性 方法 事件 ——速查
  • 原文地址:https://www.cnblogs.com/bert227/p/9786784.html
Copyright © 2011-2022 走看看