python之絕對匯入和相對匯入

2021-08-23 12:05:17 字數 1306 閱讀 9437

這兩個概念是相對於包內匯入而言的。包內匯入即是包內的模組匯入包內部的模組。

當前資料夾下

環境變數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...