__import__name globals=None locals=None fromlist= level=0用法
函数功能:动态加载一个模块或者一个包。
参数说明:
- name:表示要导入的模块或者包的名字,可以是字符串或者Unicode对象。
- globals:表示全局命名空间,如果不传入这个参数,则会从当前位置的命名空间中进行导入。
- locals:表示局部命名空间,如果不传入这个参数,则会从当前位置的命名空间中进行导入。
- fromlist:表示要导入的模块的名字列表,如果不传入这个参数,则默认导入全部模块。
- level:表示导入模块的深度,可以是0、1或者2。如果是0,则表示导入当前包下的模块或者当前模块;如果是1,则表示导入当前包下的子包或者当前包;如果是2,则表示导入当前包下的子孙包或者当前包。
返回值:返回导入的模块或者包。
例子:
# 导入sys模块
import sys
# 导入os模块的path子模块
from os import path
# 导入math模块的pi和sqrt函数
from math import pi, sqrt
# 导入numpy模块的ndarray和array函数
from numpy import ndarray, array
# 动态导入一个模块
my_module = __import__('my_module')
# 动态导入一个包
my_package = __import__('my_package')
# 动态导入一个模块的某个函数
my_func = getattr(__import__('my_module'), 'my_func')
# 动态导入一个子包下的某个模块
my_submodule = __import__('my_package.my_subpackage.my_submodule')
# 动态导入一个子包下的某个模块的某个函数
my_subfunc = getattr(__import__('my_package.my_subpackage.my_submodule'), 'my_subfunc')
原文地址: https://www.cveoy.top/t/topic/bC1c 著作权归作者所有。请勿转载和采集!