淺談Python模塊導(dǎo)入規(guī)范
模塊是類(lèi)或函數(shù)的集合,用于實(shí)現(xiàn)某個(gè)功能。模塊的導(dǎo)入和Java 中包的導(dǎo)入的概念很相似都使用import語(yǔ)句。在Python中,如果需要在程序中調(diào)用標(biāo)準(zhǔn)庫(kù)或其他第三方庫(kù)的類(lèi)時(shí),需要先使用import或from. … import. …語(yǔ)句導(dǎo)入相關(guān)的模塊。
import語(yǔ)句使用import語(yǔ)句導(dǎo)入sys模塊,并打印相關(guān)內(nèi)容的方法代碼
# 規(guī)范導(dǎo)入方式import sysprint(sys.path)print(sys.argv)
第⒉行代碼使用import語(yǔ)句導(dǎo)入了sys模塊,sys模塊是處理系統(tǒng)環(huán)境的函數(shù)的集合。第3行代碼輸出Python 環(huán)境下的查找路徑的集合,Python默認(rèn)情況下會(huì)查找sys. path返回的目錄列表。列表是Python內(nèi)置的數(shù)據(jù)結(jié)構(gòu),定義了一組數(shù)據(jù),通常用來(lái)作為參數(shù)或返回值。第4行代碼的sys. argv是存儲(chǔ)輸入?yún)?shù)的列表。默認(rèn)情況下,argv自帶的參數(shù)是文件名
運(yùn)行結(jié)果
代碼
# 不規(guī)范導(dǎo)入方式from sys import pathfrom sys import argvprint(path)print(argv)
第5行、第6行代碼直接調(diào)用path、argv列表的內(nèi)容,沒(méi)有模塊名的限定,這種寫(xiě)法不夠規(guī)范。如果程序比較復(fù)雜,導(dǎo)入了很多模塊,閱讀程序的人并不了解path、argv來(lái)自哪個(gè)模塊。而sys. path、sys. argv的寫(xiě)法可以清楚地知道path、argv來(lái)自sys模塊。
多級(jí)目錄導(dǎo)入方法需要了解兩個(gè)模塊:
sys模塊 os模塊# 多級(jí)目錄導(dǎo)入方法:import sys, ossys.path() # 返回執(zhí)行當(dāng)前文件執(zhí)行搜索的所有路徑BaseDir = os.path.abspath(__file__) # 獲取當(dāng)前文件的路徑addDir = os.path.dirname(os.path.dirname(BaseDir)) # 獲取父目錄地址sys.path.append(addDir) #將改地址添加至默認(rèn)搜索路徑中from logs import logger # 從包中導(dǎo)入模塊 sys.path():其返回值是一個(gè)列表,內(nèi)包含搜索的所有路徑。 sys.path.append() : 是將目標(biāo)路徑追加至列表的末尾,也就是說(shuō),在搜索模塊時(shí),會(huì)先在當(dāng)前目錄進(jìn)行搜索,進(jìn)而到標(biāo)準(zhǔn)庫(kù),第三方庫(kù)中進(jìn)行搜索,如果都沒(méi)有改模塊,才會(huì)到追加的這個(gè)路徑中進(jìn)行搜索。如果標(biāo)準(zhǔn)庫(kù)或第三方庫(kù)中存在同名的模塊,將不能訪(fǎng)問(wèn)到添加路徑下的模塊。 sys.path.insert(): 會(huì)把路徑加入到python系統(tǒng)路徑列表的最前邊
到此這篇關(guān)于淺談Python模塊導(dǎo)入規(guī)范的文章就介紹到這了,更多相關(guān)Python模塊導(dǎo)入內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. PHP設(shè)計(jì)模式中工廠(chǎng)模式深入詳解2. asp(vbs)Rs.Open和Conn.Execute的詳解和區(qū)別及&H0001的說(shuō)明3. Ajax實(shí)現(xiàn)表格中信息不刷新頁(yè)面進(jìn)行更新數(shù)據(jù)4. JSP數(shù)據(jù)交互實(shí)現(xiàn)過(guò)程解析5. ThinkPHP5實(shí)現(xiàn)JWT Token認(rèn)證的過(guò)程(親測(cè)可用)6. .NET中l(wèi)ambda表達(dá)式合并問(wèn)題及解決方法7. ASP.NET MVC遍歷驗(yàn)證ModelState的錯(cuò)誤信息8. 解決AJAX返回狀態(tài)200沒(méi)有調(diào)用success的問(wèn)題9. ASP 信息提示函數(shù)并作返回或者轉(zhuǎn)向10. CSS hack用法案例詳解
