zoukankan      html  css  js  c++  java
  • 动态导入模块

      反射是使用一个字符串中的形式去映射内存中的对象,详情请点击.但是如果我已知了一个对象的名称,或者是希望以用户输入的字符串形式进行模块的导入的话就可以使用__import__方法。

    mod = __import__("lib.aa")#此时mod只到lib的路径,没有到aa中,所以无法直接调用aa中的方法。
    obj = mod.aa#此时就进入了aa模块路径,可以进行aa模块的调用
    obj.class_name._func_name()#调用该模块下的类以及类里的对象。
    

      但是该方法是解释器内部进行使用的,官方建议一般不使用该方式,而使用importlib.更加简单明了。

    __Author__ = "Panda-J"
    
    mod = __import__("lib.aa")#此时mod只到lib的路径,没有到aa中,所以无法直接调用aa中的方法。
    obj = mod.aa#此时就进入了aa模块路径,可以进行aa模块的调用
    obj.class_name()._func_name#调用该模块下的类以及类里的对象。
    
    import importlib
    
    aa = importlib.import_module("lib.aa")#直接就到了aa的路径下,而不会像内置__import__方法一样只到lib
    aa.class_name().func_name#对aa中的类以及类下的对象进行调用。
    

      

     

  • 相关阅读:
    TP框架 商城前台用户注册方法
    小知识
    TP框架中的一些登录代码分享
    js贪吃蛇小游戏
    关于jQ的小案例分享
    vb语法
    ruby file
    ruby的next if boolean
    ruby文件操作
    vue里面的this指向
  • 原文地址:https://www.cnblogs.com/BigJ/p/7426289.html
Copyright © 2011-2022 走看看