淺談Python模塊導(dǎo)入規(guī)范
模塊導(dǎo)入的規(guī)范
模塊是類或函數(shù)的集合,用于實(shí)現(xiàn)某個(gè)功能。模塊的導(dǎo)入和Java 中包的導(dǎo)入的概念很相似都使用import語(yǔ)句。在Python中,如果需要在程序中調(diào)用標(biāo)準(zhǔn)庫(kù)或其他第三方庫(kù)的類時(shí),需要先使用import或from. … import. …語(yǔ)句導(dǎo)入相關(guān)的模塊。
import語(yǔ)句
使用import語(yǔ)句導(dǎo)入sys模塊,并打印相關(guān)內(nèi)容的方法
代碼
# 規(guī)范導(dǎo)入方式 import sys print(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é)果
from… import….語(yǔ)句
代碼
# 不規(guī)范導(dǎo)入方式 from sys import path from sys import argv print(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, os sys.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ù)中存在同名的模塊,將不能訪問(wèn)到添加路徑下的模塊。
- sys.path.insert(): 會(huì)把路徑加入到python系統(tǒng)路徑列表的最前邊
到此這篇關(guān)于淺談Python模塊導(dǎo)入規(guī)范的文章就介紹到這了,更多相關(guān)Python模塊導(dǎo)入內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python和php哪個(gè)更適合寫(xiě)爬蟲(chóng)
這篇文章主要介紹了python和php哪個(gè)更適合寫(xiě)爬蟲(chóng)的相關(guān)對(duì)比知識(shí)點(diǎn),需要的朋友們可以學(xué)習(xí)下。2020-06-06python函數(shù)默認(rèn)參數(shù)使用避坑指南
這篇文章主要為大家介紹了python函數(shù)默認(rèn)參數(shù)使用的踩雷避坑詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07Django中日期處理注意事項(xiàng)與自定義時(shí)間格式轉(zhuǎn)換詳解
這篇文章主要給大家介紹了關(guān)于Django中日期處理注意事項(xiàng)與自定義時(shí)間格式轉(zhuǎn)換的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-08-08Python自動(dòng)化爬取天眼查數(shù)據(jù)的實(shí)現(xiàn)
本文將結(jié)合實(shí)例代碼,介紹Python自動(dòng)化爬取天眼查數(shù)據(jù)的實(shí)現(xiàn),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-06-06Python 用Redis簡(jiǎn)單實(shí)現(xiàn)分布式爬蟲(chóng)的方法
本篇文章主要介紹了Python 用Redis簡(jiǎn)單實(shí)現(xiàn)分布式爬蟲(chóng)的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-11-11Python爬蟲(chóng)獲取全網(wǎng)招聘數(shù)據(jù)實(shí)現(xiàn)可視化分析示例詳解
這篇文章主要介紹了Python爬蟲(chóng)獲取全網(wǎng)招聘數(shù)據(jù)實(shí)現(xiàn)可視化分析示例詳解,實(shí)現(xiàn)采集一下最新的qcwu招聘數(shù)據(jù),本文列舉了部分代碼以及實(shí)現(xiàn)思路,需要的朋友可以參考下2023-07-07Python中如何使用if語(yǔ)句處理列表實(shí)例代碼
這篇文章主要給大家介紹了關(guān)于在Python中如何使用if語(yǔ)句處理列表的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-02-02python將字符串轉(zhuǎn)變成dict格式的實(shí)現(xiàn)
這篇文章主要介紹了python將字符串轉(zhuǎn)變成dict格式的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11在windows下快速搭建web.py開(kāi)發(fā)框架方法
這篇文章主要介紹了在windows下快速搭建web.py開(kāi)發(fā)框架方法,需要的朋友可以參考下2016-04-04