importlib 模块

  在 Python 源代码中提供 import 语句的实现,实现 import 的部分被公开在这个包中,使得用户更容易创建他们自己的自定义对象 (通常被称为 importer) 来参与到导入过程中。

 

  importlib.import_module(module_path)

     import_module 通过变量或者字符串作为参数导入模块,参数必须为变量或字符串不可以为模块名字。而且只能导入模块也就是Py 文件,不可以导入模块内的类或者函数的变量

 

# ../b/c.py
args = {'a':1}
 
class C:
  
 def c(self):
  pass

# ../a/a.py
import importlib
 
params = importlib.import_module('b.c.c') #绝对导入
params_ = importlib.import_module('.c.c',package='b') #相对导入
 
# 对象中取出需要的对象
params.args #取出变量
params.C #取出class C
params.C.c #取出class C 中的c 方法

 

 

 

 

getattr() 

  函数用于返回一个对象属性值。

#!/usr/bin/python
#**coding:utf-8**
class A:
    aa = "123abc"
    def b(self):
        pass


if __name__ == "__main__":
    print(getattr(A(), "aa"))
    print(getattr(A(), "bb", 123))  # 给不存在的属性赋值123

 

 

123abc
123 进程已结束,退出代码为 0