淺談Python模塊導(dǎo)入規(guī)范
模塊是類或函數(shù)的集合,用于實現(xiàn)某個功能。模塊的導(dǎo)入和Java 中包的導(dǎo)入的概念很相似都使用import語句。在Python中,如果需要在程序中調(diào)用標準庫或其他第三方庫的類時,需要先使用import或from. … import. …語句導(dǎo)入相關(guān)的模塊。
import語句使用import語句導(dǎo)入sys模塊,并打印相關(guān)內(nèi)容的方法代碼
# 規(guī)范導(dǎo)入方式import sysprint(sys.path)print(sys.argv)
第⒉行代碼使用import語句導(dǎo)入了sys模塊,sys模塊是處理系統(tǒng)環(huán)境的函數(shù)的集合。第3行代碼輸出Python 環(huán)境下的查找路徑的集合,Python默認情況下會查找sys. path返回的目錄列表。列表是Python內(nèi)置的數(shù)據(jù)結(jié)構(gòu),定義了一組數(shù)據(jù),通常用來作為參數(shù)或返回值。第4行代碼的sys. argv是存儲輸入?yún)?shù)的列表。默認情況下,argv自帶的參數(shù)是文件名
運行結(jié)果
代碼
# 不規(guī)范導(dǎo)入方式from sys import pathfrom sys import argvprint(path)print(argv)
第5行、第6行代碼直接調(diào)用path、argv列表的內(nèi)容,沒有模塊名的限定,這種寫法不夠規(guī)范。如果程序比較復(fù)雜,導(dǎo)入了很多模塊,閱讀程序的人并不了解path、argv來自哪個模塊。而sys. path、sys. argv的寫法可以清楚地知道path、argv來自sys模塊。
多級目錄導(dǎo)入方法需要了解兩個模塊:
sys模塊 os模塊# 多級目錄導(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) #將改地址添加至默認搜索路徑中from logs import logger # 從包中導(dǎo)入模塊 sys.path():其返回值是一個列表,內(nèi)包含搜索的所有路徑。 sys.path.append() : 是將目標路徑追加至列表的末尾,也就是說,在搜索模塊時,會先在當(dāng)前目錄進行搜索,進而到標準庫,第三方庫中進行搜索,如果都沒有改模塊,才會到追加的這個路徑中進行搜索。如果標準庫或第三方庫中存在同名的模塊,將不能訪問到添加路徑下的模塊。 sys.path.insert(): 會把路徑加入到python系統(tǒng)路徑列表的最前邊
到此這篇關(guān)于淺談Python模塊導(dǎo)入規(guī)范的文章就介紹到這了,更多相關(guān)Python模塊導(dǎo)入內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. Java8內(nèi)存模型PermGen Metaspace實例解析2. 利用單元測試對PHP代碼進行檢查3. python如何實現(xiàn)word批量轉(zhuǎn)HTML4. python excel和yaml文件的讀取封裝5. python3實現(xiàn)往mysql中插入datetime類型的數(shù)據(jù)6. moment轉(zhuǎn)化時間戳出現(xiàn)Invalid Date的問題及解決7. python爬蟲實戰(zhàn)之制作屬于自己的一個IP代理模塊8. python操作數(shù)據(jù)庫獲取結(jié)果之fetchone和fetchall的區(qū)別說明9. Django 權(quán)限管理(permissions)與用戶組(group)詳解10. App啟動優(yōu)化-Android性能優(yōu)化
