函数功能:动态加载一个模块或者一个包。

参数说明:

  • 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 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录