标签:技术 pre ase 文件目录 python info 子目录 案例 加载类
__import__() 函数用于动态加载类和函数 。
如果一个模块经常变化就可以使用 __import__() 来动态载入。
语法
__import__(name[, globals[, locals[, fromlist[, level]]]])
说明
1. 函数功能用于动态的导入模块,主要用于反射或者延迟加载模块。
2. __import__(module)相当于import module
3. __import__(package.module)相当于from package import name,如果fromlist不传入值,则返回package对应的模块,如果fromlist传入值,则返回package.module对应的模块。
案例演练
文件目录结构如下
# main.py # 1、动态加载同级目录模块 # __import__(module)相当于import module index = __import__(‘file1‘) # 执行file1模块中的函数 index.def_file1() # 2、动态加载子目录模块 # __import__(package.module)相当于from package import name,如果fromlist不传入值,则返回package对应的模块,如果fromlist传入值,则返回package.module对应的模块。 # 2.1 fromlist不传入值,执行file2模块中的函数 index = __import__(‘case.file2‘) print(‘=‘*30) print(‘fromlist不传入值‘) index.file2.def_file2() print(‘=‘*30) # 2.2 fromlist传值,执行file2模块中的函数 index = __import__(‘case.file2‘, fromlist=(‘file2‘,)) print(‘fromlist传入值‘) index.def_file2() print(‘=‘*30) module_name = ‘file2‘ index = __import__(f‘case.{module_name}‘, fromlist=(f‘{module_name}‘,)) index.def_file2()
# file1.py def def_file1(): print("调用同级目录中的file1函数")
# file2.py def def_file2(): print("调用子目录中的file2函数")
执行结果
标签:技术 pre ase 文件目录 python info 子目录 案例 加载类
原文地址:https://www.cnblogs.com/testlearn/p/13974275.html