Python中如何添加自定義模塊
一般來(lái)說(shuō),我們會(huì)將自己寫的Python模塊與python自帶的模塊分開(kāi)存放以達(dá)到便于維護(hù)的目的。那么如何在Python中添加自定義的模塊呢?
在解答這個(gè)問(wèn)題之前,我們首先要明確兩點(diǎn):
1.嚴(yán)格區(qū)分包(package)和文件夾。包的定義就是包含__init__.py的文件夾。如果沒(méi)有__init__.py,那么就是普通的文件夾。
2.模塊導(dǎo)入寫法,注意只要包路徑,不要文件夾路徑。
Python 運(yùn)行環(huán)境在查找?guī)煳募r(shí)是對(duì) sys.path 列表進(jìn)行遍歷,如果我們想在運(yùn)行環(huán)境中注冊(cè)新的類庫(kù),主要有以下2種方法:
1. 在sys.path列表中添加新的路徑。
2. 將庫(kù)文件復(fù)制到sys.path列表中的目錄里(如site-packages目錄)。
我們可以通過(guò)運(yùn)行一下代碼來(lái)查看sys.path
import sys print sys.path
運(yùn)行結(jié)果
['/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old', '/System/Library/Frameworks/Python.
framework/Versions/2.7/lib/python2.7/lib-dynload', '/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/
lib/python/PyObjC', '/Library/Python/2.7/site-packages']
這兩種辦法中第一種比較簡(jiǎn)單,而且對(duì)環(huán)境的影響最小。
下面我們來(lái)看一下第一種方法具體如何操作:
在python安裝目錄的site-package文件夾中新建pythontab.pth,上面site-package的路徑是:/Library/Python/2.7/site-packages,文件的內(nèi)容是:需要導(dǎo)入的package所在的文件夾路徑。
這樣,Python 在遍歷已知的庫(kù)文件目錄過(guò)程中,如果見(jiàn)到一個(gè) .pth 文件,就會(huì)將文件中所記錄的路徑加入到 sys.path 設(shè)置中,這樣 .pth 文件說(shuō)指明的package也就可以被Python運(yùn)行環(huán)境順利找到, 我們就可以像使用內(nèi)置模塊一樣引入自定義模塊了。
如果缺省的sys.path中沒(méi)有含有自己的模塊或包的路徑,我們也可以使用sys.path.apend方法來(lái)動(dòng)態(tài)加入包路徑。
知識(shí)點(diǎn)擴(kuò)展:
Python中添加自定義模塊原則:
1. 嚴(yán)格區(qū)分包和文件夾。包的定義就是包含__init__.py的文件夾。如果沒(méi)有__init__.py,那么就是普通的文件夾。
2. 導(dǎo)入package。 在python 安裝目錄的site-package文件夾中新建xxx.pth,內(nèi)容是需要導(dǎo)入的package所在的文件夾路徑。
3. 導(dǎo)入模塊。就是一般的模塊導(dǎo)入寫法,注意只要包路徑,不要文件夾路徑。
以上就是Python中如何添加自定義模塊的詳細(xì)內(nèi)容,更多關(guān)于Python中添加自定義模塊的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Python中Pygame模塊的詳細(xì)安裝過(guò)程
pygame安裝是為了開(kāi)發(fā)小游戲,在下新手在經(jīng)過(guò)許多嘗試后,為大家避雷,給大家分享一個(gè)簡(jiǎn)單有效的方法,下面這篇文章主要給大家介紹了關(guān)于Python中Pygame的詳細(xì)安裝過(guò)程的相關(guān)資料,需要的朋友可以參考下2022-09-09
Python2到Python3的遷移過(guò)程中報(bào)錯(cuò)AttributeError: ‘str‘ objec
在 Python 編程過(guò)程中,AttributeError: 'str' object has no attribute 'decode' 是一個(gè)常見(jiàn)的錯(cuò)誤,這通常會(huì)在處理字符串時(shí)出現(xiàn),尤其是在 Python 2 到 Python 3 的遷移過(guò)程中,本文將詳細(xì)介紹該問(wèn)題的根源,并提供解決方案,需要的朋友可以參考下2025-04-04
keras中模型訓(xùn)練class_weight,sample_weight區(qū)別說(shuō)明
這篇文章主要介紹了keras中模型訓(xùn)練class_weight,sample_weight區(qū)別說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-05-05
PyInstaller將Python腳本打包為.exe可執(zhí)行文件的步驟詳解
Python是一門強(qiáng)大而靈活的編程語(yǔ)言,為了方便共享和部署,我們可以將 Python 腳本打包為可執(zhí)行文件(.exe),這樣其他用戶就無(wú)需安裝 Python環(huán)境,直接運(yùn)行可執(zhí)行文件即可,本文將介紹如何使用PyInstaller 工具實(shí)現(xiàn)這一目標(biāo),需要的朋友可以參考下2023-12-12
Flask 讓jsonify返回的json串支持中文顯示的方法
下面小編就為大家分享一篇Flask 讓jsonify返回的json串支持中文顯示的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-03-03
python3安裝OCR識(shí)別庫(kù)tesserocr過(guò)程圖解
這篇文章主要介紹了python3安裝OCR識(shí)別庫(kù)tesserocr過(guò)程圖解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04

