首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >相关导入模块

相关导入模块
EN

Stack Overflow用户
提问于 2018-05-08 17:59:42
回答 1查看 38关注 0票数 1

对于项目:

代码语言:javascript
复制
    package\
    │
    └───┐ package\
        │
        ├──── __init__.py
        └───┐ subpackage\
            │
            ├──── __init__.py
            └──── spam.py

subpackage\__init__.py中,我可以通过以下方式导入spam

代码语言:javascript
复制
    from package.subpackage.spam import eggs, beans

...or...

代码语言:javascript
复制
    from .spam import eggs, beans

后者对于更改package的名称很健壮,这在我目前的早期开发项目案例中很有用。

当我实际上不想从spam中导出任何东西时,问题就出现了,我只是想让它执行它的初始化逻辑。

例如,以下代码不起作用。

代码语言:javascript
复制
    import .spam

(我使用的是PyCharm,如果这是相关的,它可以识别错误。)

在这种情况下,是否有替代的或标准的导入方式?

EN

回答 1

Stack Overflow用户

发布于 2018-05-10 13:32:25

在python中,导入如下所示:

代码语言:javascript
复制
from <path-to-file> import <file-name-or-class/method/variable>

因此,当您编写import .spam时,它将查找.spam.py,而不是查找spam.py,而是查找.spam.py,这样您就可以正确地导入它,如下所示:

代码语言:javascript
复制
from . import spam
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50230918

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档