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