python3精要(34)-import工作原理
1、import導(dǎo)入模塊,不是將一個文件插入到另一個文件中,它額外做了以下三方面工作:
(1)搜索找到模塊文件
使用標(biāo)準(zhǔn)模塊搜索路徑找到該模塊文件,并沒有指定文件所在路徑,可以是以點號分隔的相對路徑名。
(2)編譯成字節(jié)碼(需要時)
檢查模塊文件的時間戳,如果比字節(jié)碼pyc時間晚,說明模塊文件已經(jīng)修改,則重新編譯成字節(jié)碼。如果‘沒有發(fā)現(xiàn)模塊文件的源文件,只有pyc,則跳過源文件,不編譯。
(3)執(zhí)行模塊代碼
這3方面工作只會在第一次導(dǎo)入時進行。
模塊文件的所有代碼得到運行。
2、python將導(dǎo)入的模塊存儲在sys.modules字典中,并在第一次導(dǎo)入操作時檢查該表,如果已經(jīng)導(dǎo)入,在字典中將找到,于是不會執(zhí)行1中講述的3個工作。
3、python的模塊搜索路徑4部分:
(1)程序的主目錄
運行的程序頂層腳本文件所在路徑。
(2)PYTHONPATH路徑
環(huán)境變量
(3)標(biāo)準(zhǔn)鏈接庫目錄
python默認(rèn)存放標(biāo)準(zhǔn)庫的路徑
(4)任何.pth文件內(nèi)容
一個文本文件,每行一個路徑
放在python安裝目錄或python標(biāo)準(zhǔn)庫路徑
總結(jié)
以上是生活随笔為你收集整理的python3精要(34)-import工作原理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用 @ControllerAdvice
- 下一篇: python3精要(35)-wxPyth