關於運行python腳本產生__pycache__


是什么?

用python編寫好一個工程,在第一次運行后,總會發現工程根目錄下生成了一個__pycache__文件夾,里面是和py文件同名的各種 *.pyc 或者 *.pyo 文件。

python腳本編譯后產生的.pyc文件放到__pycache__中,下次運行時檢測到代碼沒有改變,則直接運行__pycache__中的pyc文件.

 

 如何避免生成?

單次: 運行腳本時添加 -B 參數

python -B foo.py

永久: 設置環境變量 PYTHONDONTWRITEBYTECODE=1

 

python運行機制

不需要生成二進制代碼,python解釋器把源碼->字節碼,然后在執行這些字節碼.

解釋器的具體工作:

1.完成模塊(module)的加載和鏈接

2.將源代碼編譯成pyCodeObject(字節碼),寫入內存中,供CPU讀取

3.從內存中讀取並執行,結束后將pyCodeObject寫回到硬盤中,即復制到.pyc或.pyo文件中.

4.再次執行該腳本時,檢查是否有"字節碼文件"以及"字節碼文件是否和腳本一致".如果一致則直接執行,否則重復上述步驟.

 

參考文章:

https://blog.csdn.net/index20001/article/details/73501375/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM