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

python-同一目录中模块的绝对导入

python-同一目录中模块的绝对导入

您可以放心使用2号,因为不应该发生任何冲突- 您将始终从与当前模块相同的包中导入模块。请注意,如果您的模块与标准库模块之一具有相同的名称,则将导入该模块而不是标准库模块。从文档中

spam导入名为模块的模块时,解释器首先搜索具有该名称的内置模块。如果未找到,那么它将搜索spam.py该变量给定的目录列表中命名的文件sys.pathsys.path从以下位置初始化:

包含输入脚本的目录(或当前目录)。

PYTHONPATH (目录名称列表,语法与

shell变量PATH)。

取决于安装的认值。

初始化后,Python程序可以进行修改sys.path。 这意味着将加载该目录中的脚本,而不是库目录中相同名称的模块。除非打算进行更换,否则这是一个错误。有关更多信息,请参见标准模块部分。

from mypackage.a import *出于一致性原因,可以在整个项目中使用该选项。在某些模块中,您仍然必须进行绝对导入。因此,您不必考虑模块是否在相同的程序包中,而只需在整个项目中使用统一的样式即可。另外,这种方法更加可靠和可预测。

Python样式指南不建议使用相对导入:

强烈建议不要将相对进口用于包装内进口。始终对所有导入使用绝对包路径。即使现在 PEP 328已在Python 2.5中完全实现,仍不鼓励使用其显式相对导入的样式。绝对导入更具可移植性,通常更具可读性。

从python 2.5开始,引入了用于包内相对导入的新语法。现在,您.可以引用当前模块,也可以引用..高于1级的模块。

from . import echo
from .. import formats
from ..filters import equalizer
python 2022/1/1 18:31:58 有207人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

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

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

请先登录

推荐问题


联系我
置顶