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