我正在寻找PEP 8中对以下陈述的澄清:
隐式相对导入应该从不使用并且已在Python 3中删除。
假设在Python 2中我有以下目录结构(在名为test
的目录中):
.
├── test_recurring_interval.py
└── test_utils.py
在文件test_recurring_interval.py
中,我有一行
import test_utils
这是隐含的相对导入吗?如果是这样,我应该如何更改它以使其明确?
答案 0 :(得分:2)
这是否是隐式相对导入取决于包含import语句的模块是否是包的一部分。这比起初看起来更棘手,因为模块是否是包的一部分取决于Python的执行方式以及__package__
和sys.path
的设置方式。
看起来这里没有任何包。这绝对是重要的,不是相对导入。
答案 1 :(得分:1)
当以.
开头时,显式相对导入显式相对。
隐含的亲戚:
import test_utils
明确相对:
import .test_utils