這兩個概念是相對於包內匯入而言的。包內匯入即是包內的模組匯入包內部的模組。
當前資料夾下
環境變數pythonpaht中
sys.path中
匯入當前模組同級別的模組
匯入當前模組同級別包中的模組
不能匯入具體的【變數、函式、型別】
|import匯入
|sub_package
|__init__.py
|tools.py
|__init__.py
|tools.py
|main.py
可以在main.py模組中
import tools #匯入當前模組同級別的模組
import sub_package.tools #匯入當前模組同級別包中的模組
from_import相對匯入
|__init_
_.py
|tools.py
|def sum()
|msg = "變數"
|main.py
'''相對路徑引入【相對:相對的是當前檔案路徑;參照物:參照父級資料夾】
'''#1、相對引入模組
from . import tools
print(tools.msg)
#直接執行會報錯,
#因為此時main檔案是入口檔案(頂層檔案)只有乙個,所以找不到tools模組
'''importerror: cannot import name 'tools'
'''#正確方式
#命令列使用python -m from_import相對匯入.main,找到父級包做參照物,可以匯入
#2、相對引入,直接引入具體函式、變數、類...
from .tools import sum
sum(1,2)
from .tools import msg
print(msg)
|from_import絕對匯入
|sub_package
|__init__.py
|tools.py
|msg = "變數"
|__init__.py
|main.py
#通過絕對匯入
from sub_package import tools
from sub_package.tools import msg
print(tools.msg)
print(msg)
#通過 包.模組 直接引入【變數、函式、類】
python 絕對匯入和相對匯入
今天在import自定義模組時遇到問題,在此記錄一下。假設檔案結構如下 project main.py utils a.py b.py 我想要實現乙個順序匯入main a b,即 main.py from utils import a a.py import b 然而在a.py報錯找不到b模組。因為...
程式設計基礎 Python中的絕對匯入與相對匯入
如果您從事的python專案有多個檔案,那麼您以前可能不得不使用import語句。即使對於擁有多個專案的python重度使用者 比如我 import也可能會造成混淆!您可能正在閱讀本文,因為您想對python中的import 尤其是絕對匯入和相對匯入 有更深入的了解。在本教程中,您將學習兩者之間的區...
python包的相對匯入和絕對匯入
絕對匯入 從要匯入檔案的頂級包開始寫起 print package 列印出該檔案所在包的路徑以下面所示專案檔案結構為例 頂級包一般是專案資料夾中最上層的包,比如說a,b中的模組的頂級包就分別是a,b a1中 print package a b1中 print package b bb1中 print...