如何配置Python包以实现直接从包名导入指定函数?
实现方法
只需修改顶层包pkg下的__init__.py文件即可完成配置,具体操作如下:
- 打开
pkg/__init__.py,添加如下代码:
# 从子模块导入目标函数,直接绑定到顶层包的属性中 from pkg.module.a import func # 可选配置:如果需要支持`from pkg import *`也能正确导入func,可添加此行 __all__ = ["func"]
- 保存文件后,即可直接使用
from pkg import func的方式导入目标函数。
配置原理
Python执行from 包名 import 对象的逻辑是,优先检索对应包的__init__.py中定义、导入的对象,不会自动递归查找所有子模块的内容。我们主动在顶层__init__.py中提前导入子模块的func函数,相当于把该函数变成了顶层包直接暴露的公开属性,因此可以直接从顶层包导入。
注意:如果后续需要暴露更多子模块的对象,只需要参照上面的格式,在顶层
__init__.py中添加对应导入语句即可。
内容的提问来源于stack exchange,提问作者Faizan
相关产品推荐
相关产品推荐

