您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

从父文件夹子文件夹的相对导入模块

从父文件夹子文件夹的相对导入模块

正确的相对导入为:

from ...common import foo

但是,相对进口仅在一个包装中起作用。如果main是软件包,则可以在此处使用相对导入。如果main不是包,则不能。

因此,如果您在中运行脚本/main/并执行类似的操作import A.src.bar,则该相对导入将失败,并显示“尝试了超出顶级包的相对导入”。这是因为相对导入正在尝试导入顶级包之外的内容A

但是,如果您在中运行脚本/并执行类似的操作import main.A.src.bar,则相对导入将成功,因为main它现在是软件包。在这种情况下,以下两个等效:

from ...common import foo
from main.common import foo

为了回答您的评论:的含义.不会根据运行脚本的位置而改变,而是取决于程序包的结构而改变。

其他 2022/1/1 18:46:50 有496人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶