Python内置函数 __import__ 动态加载模块
2021-03-17 12:24
标签:技术 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对应的模块。 案例演练 文件目录结构如下 执行结果 Python内置函数 __import__ 动态加载模块 标签:技术 pre ase 文件目录 python info 子目录 案例 加载类 原文地址:https://www.cnblogs.com/testlearn/p/13974275.html# 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函数")
上一篇:Java—字符流
下一篇:python xml处理
文章标题:Python内置函数 __import__ 动态加载模块
文章链接:http://soscw.com/index.php/essay/65296.html