对于一个项目:
package\
│
└───┐ package\
│
├──── __init__.py
└───┐ subpackage\
│
├──── __init__.py
└──── spam.py
在subpackage\__init__.py
中我可以通过以下方式导入spam
from package.subpackage.spam import eggs, beans
...或...
from .spam import eggs, beans
后者对于更改package
的名称很有用,这在我目前的早期开发项目中非常有用。
当我不想从spam
实际导出任何内容时出现问题,我只是想让它执行其初始化逻辑。
例如,以下内容不起作用。
import .spam
(我正在使用PyCharm
,如果这是相关的,则会识别错误。)
在这种情况下是否有替代或标准的导入方式?
答案 0 :(得分:0)
在python导入中如下所示:
from <path-to-file> import <file-name-or-class/method/variable>
因此,当您撰写import .spam
时,它会查找.spam.py
,而不是查找spam.py
,而是查找.spam.py
,以便您可以正确导入,如下所示:
from . import spam