Python相对导入的奇怪现象
我有一个文件:
STARTDIR/module/submodule/config.py
我还有另一个文件:
STARDIR/utils/filesys/getAbsPath.py
为什么在 config.py
这行代码能正常工作呢?
from ..utils.filesys import getAbsPath
看起来 ..
是指 module
,而不是 STARTDIR
。在 module
里面根本没有 utils
。实际上,执行
from .. import utils
会得到
ImportError: cannot import name utils
1 个回答
4
这个应该可以正常工作:
from ...utils.filesystem import getAbsPath
原因是:
from . import …
是从STARTDIR/module/submodule/
导入的from .. import …
是从STARTDIR/module/
导入的from ... import …
是从STARTDIR/
导入的