{site_name}

{site_name}

🌜 搜索

Python PEP 328 是 Python Enhancement Prop

Python 𝄐 0
python import相对导入和绝对导入,python相对导入问题,python相对路径导入,python从绝对路径导入模块,python导入类绝对路径,python绝对方向
Python PEP 328 是 Python Enhancement Proposal (Python 增强提案) 的一部分,它介绍了 Python 2.5 及以上版本中的绝对导入和相对导入。

在 Python 中,模块可以通过绝对路径或相对路径进行导入。以前的 Python 版本中默认使用相对导入,但这种方式存在一些问题,因此引入了绝对导入和相对导入。

绝对导入使用完整包路径来指定要导入的模块,而相对导入使用当前模块所在的包与被导入的模块之间的相对路径来指定要导入的模块。

下面是一个例子:

假设有以下项目结构:


project/

├── __init__.py
├── package1/
│ ├── __init__.py
│ ├── module1.py
│ └── module2.py

└── package2/
├── __init__.py
├── module3.py
└── module4.py


在 Python2.4 及以前的版本中,我们可以使用相对导入来导入 module2.py:

python
from ..package1 import module1


在 Python2.5 及以上版本中,我们可以使用绝对导入来导入 module2.py:

python
from project.package1 import module1


请注意,为了在 Python2.5 及以上版本中使用绝对导入,必须在项目中使用“绝对导入”语法,在文件的开头添加以下代码:

python
from __future__ import absolute_import