Python __import__() 函数

Python __import__() 语法

__import__() 是 Python 的一个内置函数,它用于动态地导入模块。与 import 语句不同,__import__() 函数可以在程序运行时动态导入模块,使得程序可以更加灵活地处理模块的导入。

语法:

__import__(name, globals=None, locals=None, fromlist=(), level=0)

说明:

__import__() 函数接收以下参数。

  • name(必选):要导入的模块名(字符串形式)。
  • globals(可选,默认值:None):表示全局命名空间。
  • locals(可选,默认值:None):表示局部命名空间。
  • fromlist(可选,默认值:空元组):表示需要导入的属性名列表。如果不指定 fromlist,则表示导入整个模块。
  • level(可选,默认值:0):表示相对导入的层级。level = 0 表示绝对导入,level = 1 表示从当前模块的父包导入。

注意:

  • __import__() 是一个相对低级的函数,它在实际应用中很少会使用,大多数情况下使用 import 语句就已经足够了。
  • 如果需要动态导入模块,官方更加推荐使用 importlib.import_module(),而不是 __import__() 。 importlib.import_module() 语法更清晰且更符合 Python 的设计哲学。

Python __import__() 摘要

使用频率 极低
官方文档 查看
相关函数 reload()

Python __import__() 示例

接下来,我们通过一个简单的例子来讲解 Python __import__() 函数是如何使用的。

示例:__import__() 基本用法

# 导入 os 模块
os = __import__('os')

# 导入 os.path 模块
path = __import__('os.path')

# 导入 os.path 模块 getsize 方法
getsize = __import__('os.path', fromlist=['getsize']).getsize

分析:

__import__() 函数可以动态导入模块及其属性,不过小伙伴们需要注意以下 2 点。

  • 如果要导入的模块位于当前文件目录下,可以直接使用 importlib 模块的 import_module() 函数导入,这样更加直观方便。
  • 如果要导入的模块较为复杂,可以使用 importlib 模块的 util.find_spec() 函数查找模块,然后使用 importlib 模块的 util.module_from_spec() 函数加载模块,这种方式更加灵活可控。

上一篇: reload()

下一篇: Python 内置函数

给站长反馈

绿叶网正在不断完善中,小伙伴们如果发现任何问题,还望多多给站长反馈,谢谢!

邮箱:lvyenet@vip.qq.com

「绿叶网」服务号
绿叶网服务号放大
关注服务号,微信也能看教程。
绿叶网服务号