【发布时间】:2016-02-02 14:54:41
【问题描述】:
考虑以下层次结构
MusicEditor (package)
Converters (subpackage)
...
Transformations (subpackage)
...
Utility (subpackage)
...
将实用程序子包中的文件/模块导入转换器子包中的文件的正确方法是什么?
例如将 Utility/string.py 导入到 Converters/wav.py 文件中
我该怎么做呢?
编辑以回应伊斯梅尔·因凡特
以下是否正确?
假设 MusicEditor 位于 /usr/something/MusicEditor。然后我会编辑python路径如下?
PYTHONPATH = PYTHONPATH + /usr/something/
然后我会将初始化文件添加到每个目录,如下所示:
MusicEditor (package)
__init__.py
Converters (subpackage)
__init__.py
...
Transformations (subpackage)
__init__.py
...
Utility (subpackage)
__init__.py
...
然后要将实用程序中的某些内容包含到位于转换器中的文件中,我会简单地去:
(MusicEditor/Converters/wav.py)
import MusicEditor.Utility.string
这是正确的吗?但我也可以使用以下相对路径
(MusicEditor/Converters/wav.py)
import ..Utility.string
是吗?
【问题讨论】:
标签: python import module package packages