是什么?
用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/