动态导入模块

如反射的概念,可以通过hasattr(),getattr(),setattr(),delattr()将字符串类型的方法反射为可以直接调用的方法,那么模块的调用除了正常的调用外,是否也可以将个符串格式的模块名导入到当前目录下呢?

动态导入模块的使用:

官方推荐使用版:

import importlib
aa=importlib.import_module('lib.aa')  

标准导入格式为:importlib.import_module(name,package)

解释器自身使用的是:

mod=__import__('lib.aa')
obj=mod.aa.C()
print(obj.name)

  

以上代码使用的目录格式和代码为:

目录结构:

aa.py的代码:

class C:

    def __init__(self):
        self.name = 'alex'

  

原文地址:https://www.cnblogs.com/zoe233/p/7192142.html