一般來說,我們會將自己寫的Python模組與python自帶的模組分開存放以達到便於維護的目的。那麼如何在Python中加入自訂的模組呢?
在解答這個問題之前,我們首先要先明確兩點:
1.嚴格區分套件(package)和資料夾。套件的定義就是包含init.py的資料夾。如果沒有init.py,那麼就是普通的資料夾。
2.模組導入寫法,注意只要包路徑,不要資料夾路徑。
Python 運行環境在尋找庫檔案時是對sys.path 清單進行遍歷,如果我們想要在執行環境中註冊新的類別庫,主要有以下2種方法:
1. 在sys.path清單中新增的路徑。
2. 將庫檔案複製到sys.path清單中的目錄裡(如site-packages目錄)。
我們可以透過執行程式碼來查看sys.path
import sys print sys.path
運行結果:
['/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']
這兩種辦法中第一種比較簡單,而且對環境的影響最小。
下面我們來看看第一種方法具體如何操作:
#在python安裝目錄的site-package資料夾中新建pythontab.pth,上面site-package的路徑是:/Library/Python/2.7/site-packages,檔案的內容是:需要導入的package所在的資料夾路徑。
這樣,Python 在遍歷已知的庫文件目錄過程中,如果見到一個.pth 文件,就會將文件中所記錄的路徑加入到sys.path 設定中,這樣.pth 檔說指明的package也就可以被Python運作環境順利找到, 我們就可以像使用內建模組一樣引入自訂模組了。
如果預設的sys.path中沒有含有自己的模組或套件的路徑,我們也可以使用sys.path.apend方法來動態加入套件路徑。
以上是如何在Python中新增自訂模組的詳細內容。更多資訊請關注PHP中文網其他相關文章!