我第一次接触图书馆,我注意到解决图书馆内部导入问题的最简单方法是使用如下结构:
from . import x
from ..some_module import y
这让我觉得“不好”。也许这只是我不记得经常看到它的事实,尽管公平地说我还没有在大量图书馆中闲逛。
只是想看看这是否被认为是好的做法,如果不是,更好的方法是什么?
最佳答案
一切都有 PEP。
Explicit relative imports are an acceptable alternative to absolute imports, especially when dealing with complex package layouts where using absolute imports would be unnecessarily verbose:
Guido's decision在 PEP328 导入:多行和绝对/相对
从 PEP328 复制意大利面
这是一个示例包布局:
package/
__init__.py
subpackage1/
__init__.py
moduleX.py
moduleY.py
subpackage2/
__init__.py
moduleZ.py
moduleA.py
假设当前文件是 moduleX.py
或 subpackage1/__init__.py
,以下都是新语法的正确用法:
from .moduleY import spam
from .moduleY import spam as ham
from . import moduleY
from ..subpackage1 import moduleY
from ..subpackage2.moduleZ import eggs
from ..moduleA import foo
from ...package import bar
from ...sys import path
关于Python - 来自 .进口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29283139/