【发布时间】:2021-11-08 02:16:07
【问题描述】:
假设我有一个类似的包结构
pkg
__init__.py
module
__init__.py
a.py
b.py
假设a.py中有一个函数func。我想创建一个库,可以直接从 pkg 导入 func。
from pkg import func
我怎样才能做到这一点?
【问题讨论】:
标签: python python-3.x module python-import
假设我有一个类似的包结构
pkg
__init__.py
module
__init__.py
a.py
b.py
假设a.py中有一个函数func。我想创建一个库,可以直接从 pkg 导入 func。
from pkg import func
我怎样才能做到这一点?
【问题讨论】:
标签: python python-3.x module python-import
您可以通过__init__.py 进行配置。
pkg/__init__.py
from .module.a import func
这样当pkg被访问时,__init__.py会被加载,从而允许直接访问pkg.func
这是documented:
常规包通常实现为包含
__init__.py文件的目录。导入常规包时,会隐式执行此__init__.py文件,它定义的对象将绑定到包名称空间中的名称。__init__.py文件可以包含与任何文件相同的 Python 代码其他模块可以包含,Python在导入时会为模块添加一些额外的属性。
【讨论】: