python绝对导入
2018-07-19 本文已影响44人
yalesaleng
首先应明白以下两个概念:
- 包 :一个带
__init__.py
文件的文件夹即是一个包。- 模块:一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句。
绝对导入有两种形式:
1. import导入
2. from ... import ... 导入
举例说明:
package/
__init__.py
subpackage1/
__init__.py
moduleX.py
moduleY.py
subpackage2/
__init__.py
moduleZ.py
moduleA.py
那么到底如何导入模块呢?
1.当moduleX.py
想导入同级目录下的moduleY.py
模块时:
import moduleY
即可导入。
2.当moduleX.py
想导入不同目录下的moduleZ.py
模块时:(两种方式)
imposrt sys
sys.path.append('../subpackage2/') # .表示同一目录下,..表示上一级目录下,以此类推
import moduleZ
# 或者使用from ... import ... 的形式来导入
from package.subpackage2 import moduleZ