不同目录下的导入结果不同

2024-06-17 16:40:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个MyPak包和一个MyMod模块。文件按以下方式组织:

somedir/MyPak/MyMod.py

在MyMod.py公司只有一个名为MyMod的类

在目录somedir/MyPak中,如果我执行导入:

import MyMod

我把MyMod作为模块导入。在

但在目录somedir/中,如果我这样做的话

^{pr2}$

我把MyMod作为类而不是模块导入。为什么会这样?在


Tags: 模块文件pyimport目录方式公司mymod
1条回答
网友
1楼 · 发布于 2024-06-17 16:40:18

此行为表示您有一个文件:

somedir/MyPak/__init__.py

其中您可以执行以下操作:

^{pr2}$

当您import MyPak时,它将从__init__.py导入—同样,当您from MyPak import something时,它将尝试从名称空间中提取包,该名称空间将查看__init__.py

因为您从MyMod导入了__init__.py中的所有内容,现在该类是MyPak包的本地类,并屏蔽了MyMod.py文件。在

相关问题 更多 >