16、模組優先順序和包
阿新 • • 發佈:2021-10-19
解決方案:
方案一:匯入語句放到最後,保證在匯入時,所有名字都已經載入過
方案二:匯入語句放到函式中,只有在呼叫函式時才會執行其內部程式碼
二、 搜尋模組的路徑與優先順序
模組其實分為四個通用類別,分別是:
1、使用純Python程式碼編寫的py檔案
2、包含一系列模組的包
3、使用C編寫並連結到Python直譯器中的內建模組
4、使用C或C++編譯的擴充套件模組
在匯入一個模組時,如果該模組已載入到記憶體中,則直接引用,否則會優先查詢內建模組,然後按照從左到右的順序依次檢索sys.path中定義的路徑,直到找模組對應的檔案為止,否則丟擲異常。sys.path也被稱為模組的搜尋路徑,它是一個列表型別
重要結論:
如果被匯入的模組是在被執行程式所在的資料夾下,那麼無需處理環境變數,以執行程式所在的資料夾為起始點進行。
強調:
1、匯入語句中的點代表的是路徑分割符
2、使用語句中的點代表的是向某一個名稱空間要名字
bin:放執行程式
conf:放配置檔案,一些定製化的東西 日誌等
core:放核心程式碼,一些被匯入的檔案功能
lib:自定義自己的模組(庫)
logs:存放日誌
db:放資料,登入密碼等
readme:說明手冊
import time
time.strftime("%Y-%m-%d %H-%M-%S")
年月日 時分秒