python中_自动生成的_pycache__文件夹
生活随笔
收集整理的這篇文章主要介紹了
python中_自动生成的_pycache__文件夹
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
_pycache__文件夾可以看作該文件夾下文件已被python接管或者說編譯過。
在第一次執(zhí)行代碼的時候,Python解釋器已經(jīng)把編譯的字節(jié)碼放在__pycache__文件夾中,這樣以后再次運行的話,如果被調(diào)用的模塊未發(fā)生改變,那就直接跳過編譯這一步,直接去__pycache__文件夾中去運行相關(guān)的 *.pyc 文件,大大縮短了項目運行前的準(zhǔn)備時間。
解釋器的具體工作:
1、完成模塊的加載和鏈接;
2、將源代碼編譯為PyCodeObject對象(即字節(jié)碼),寫入內(nèi)存中,供CPU讀取;
3、從內(nèi)存中讀取并執(zhí)行,結(jié)束后將PyCodeObject寫回硬盤當(dāng)中,也就是復(fù)制到.pyc或.pyo文件中,以保存當(dāng)前目錄下所有腳本的字節(jié)碼文件。
再看_pycache__文件夾下生成的文件名為*.cpython-30.pyc的文件名的含義,其中cpython表示c語言實現(xiàn)的Python解釋器,而代表的是版本為3.0版。
其實,在Python中導(dǎo)入模塊時,實際上會把被導(dǎo)入的模塊執(zhí)行一遍。
一般來說,我們在主函數(shù)中使用if __name__ == '__main__':是為了保證導(dǎo)入的模塊不被執(zhí)行。因為_name_代表的是當(dāng)前模塊的名字,也就是'__main__',而新導(dǎo)入的模塊的名字為其自身的名字,例如為test.py,那么經(jīng)過判斷后,就不會被執(zhí)行。
總結(jié)
以上是生活随笔為你收集整理的python中_自动生成的_pycache__文件夹的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 通过DirectXTK,将.obj,.f
- 下一篇: GoView:Start14.6k,上车