相對匯入與絕對匯入
Yting
絕對引入
假設你的包結構如下 [1]:
pkg/
pkg/init.py
pkg/main.py
pkg/string.py
如果你是想用系統自帶的標準string.py而不是同目錄下的string.py [1].
這時候你就需要from __future__ import absolute_import
from __future__ import absolute_import
是”加入绝对引入
這個新特性”。
這樣,你就可以用import string
來引入系統自帶的標準string.py,
而用from pkg import string
來引入當前目錄下的string.py了
相對引入
假設你的包結構是這樣的 [1]:
pkg/
pkg/init.py
pkg/main.py
pkg/string.py
如果你在main.py中寫import string
,那麼在Python 2.4或之前, Python會先查找當前目錄下有沒有string.py, 若找到了,則引入該模塊,然後你在main.py中可以直接用string了 [1]。
[1]