91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python中如何實現包的導入

發布時間:2021-08-03 10:55:49 來源:億速云 閱讀:169 作者:小新 欄目:開發技術

這篇文章給大家分享的是有關python中如何實現包的導入的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

調用同級目錄:

– src 
|– mod.py 
|– test.py

若在程序test.py中導入模塊mod, 則直接使用

import mod
或
from mod import *

調用子目錄下的模塊:

– src 
|– mod.py 
|– lib 
| |– mod2.py 
|– test.py

from lib.mod2 import *

或

import lib.mod2

調用上級目錄下的文件

目錄結構如下:

– src 
|– mod.py 
|– lib 
| |– mod2.py 
|– sub 
| |– test2.py
import sys
sys.path.append('C:\\test\\A\\C')
import mod
import lib.mod2

__init__.py

在python模塊的每一個包中,都有一個__init__.py文件(這個文件定義了包的屬性和方法)然后是一些模塊文件和子目錄,假如子目錄中也有__init__.py 那么它就是這個包的子包了。當你將一個包作為模塊導入(比如從 xml 導入 dom )的時候,實際上導入了它的__init__.py 文件。

一個包是一個帶有特殊文件 __init__.py 的目錄。__init__.py 文件定義了包的屬性和方法。其實它可以什么也不定義;可以只是一個空文件,但是必須存在。如果 __init__.py 不存在,這個目錄就僅僅是一個目錄,而不是一個包,它就不能被導入或者包含其它的模塊和嵌套包。

__init__.py 中還有一個重要的變量,叫做__all__。

如果此時目錄如下

– src 
|– mod.py 
|– lib 
| |– mod2.py 
| |– mod3.py 
| |– sub 
| |– | |– mod3.py

我們有時會使出一招“全部導入”,也就是這樣:

from lib import *

這時 import 就會把注冊在包__init__.py 文件中 __all__ 列表中的子模塊和子包導入到當前作用域中來。比如:

#文件__init__.py
__all__ = ["mod2", "mod3", "sub"]

總結:

對于其余路徑下載py文件,要想導入,先加到sys.path中,然后再導入。

__init__.py的作用:

  • package的標識,不能刪除

  • 定義package中的__all__,用來模糊導入

  • 編寫Python代碼(不建議在__init__中寫python模塊,可以在包中在創建另外的模塊來寫,盡量保證__init__.py簡單)

感謝各位的閱讀!關于“python中如何實現包的導入”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

凌云县| 赤峰市| 建阳市| 盐池县| 香河县| 六盘水市| 安乡县| 永春县| 沁水县| 盐源县| 青岛市| 清河县| 甘洛县| 张家口市| 荆门市| 巍山| 鄂托克旗| 新龙县| 唐海县| 东至县| 通山县| 海丰县| 黄梅县| 广安市| 聂荣县| 克拉玛依市| 盘山县| 荣成市| 怀远县| 马鞍山市| 定襄县| 靖州| 曲水县| 美姑县| 光泽县| 新民市| 丹寨县| 商水县| 莎车县| 屯昌县| 抚州市|