Python學習筆記|Python之pycache資料夾
Python之__pycache__
檔案
1.什麼是__pycache__
檔案
用
python
編寫好一個工程,在第一次執行後,總會發現工程根目錄下生成了一個__pycache__
資料夾,裡面是和py檔案同名的各種*.pyc
或者*.pyo
檔案。
- 那為什麼會出現
__pycache__
檔案,和Python直譯器有關
Python程式執行時不需要編譯成二進位制程式碼,而直接從原始碼執行程式,簡單來說是,Python直譯器將原始碼轉換為位元組碼,然後再由直譯器來執行這些位元組碼。
- 直譯器的具體工作:
1 完成模組的載入和連結;
2 將原始碼編譯為PyCodeObject物件(即位元組碼),寫入記憶體中,供CPU讀取;
3 從記憶體中讀取並執行,結束後將PyCodeObject寫回硬碟當中,也就是複製到.pyc或.pyo檔案中,以儲存當前目錄下所有指令碼的位元組碼檔案;
- 之後若再次執行該指令碼,它先檢查【本地是否有上述位元組碼檔案】和【該位元組碼檔案的修改時間是否與其指令碼一致】。是就直接執行,否則重複上述步驟。
2.為什麼會出現__PYCACHE__資料夾
python直譯器會將 *.py 指令碼檔案進行編譯,並將編譯結果儲存到__pycache__目錄中。
下次再執行工程時,若直譯器發現這個 *.py 指令碼沒有修改過,就會跳過編譯這一步,直接執行以前生成的儲存在 __pycache__資料夾裡的 *.pyc 檔案。
這樣工程較大時就可以大大縮短專案執行前的準備時間;如果你只需執行一個小工程,沒關係忽略這個資料夾就行。
3.什麼時候會出現__PYCACHE__資料夾
工程目錄下有__main__.py檔案,和其他將要呼叫的模組時。如果只有當前執行的指令碼
“main”,則不會生成 pycache 的檔案。
相關文章
- Python 3 學習筆記之——資料型別Python筆記資料型別
- python學習筆記:資料庫Python筆記資料庫
- Python學習筆記|Python之程式Python筆記
- Python學習筆記之序列Python筆記
- Python 學習筆記——資料型別Python筆記資料型別
- Python學習筆記|Python之yield理解Python筆記
- Python學習筆記|Python之索引迭代Python筆記索引
- Python學習筆記|Python之特殊方法Python筆記
- Python學習筆記(一) 資料型別Python筆記資料型別
- Python學習筆記(二)——資料型別Python筆記資料型別
- Python學習筆記|Python之檔案操作Python筆記
- Python學習筆記|Python之物件導向Python筆記物件
- Python學習筆記|Python之特殊檔案Python筆記
- Python學習筆記|Python之推導式Python筆記
- Python學習筆記|Python之執行緒Python筆記執行緒
- python學習筆記1—python的基本資料型別Python筆記資料型別
- Python學習筆記|Python之正規表示式Python筆記
- Python深度學習(處理文字資料)--學習筆記(十二)Python深度學習筆記
- Python學習筆記2:基本資料型別Python筆記資料型別
- 【學習筆記】python筆記Python
- Python學習筆記Python筆記
- 《Python入門與資料科學庫》學習筆記Python資料科學筆記
- Python學習筆記(隨筆)Python筆記
- Python學習筆記(一)——初學PythonPython筆記
- Python爬蟲學習筆記(三、儲存資料)Python爬蟲筆記
- Python 3 學習筆記之——物件導向Python筆記物件
- python學習筆記4Python筆記
- python學習筆記(二)Python筆記
- Python學習筆記 - aiohttpPython筆記AIHTTP
- Python 學習筆記(一)Python筆記
- Python學習筆記 - asyncioPython筆記
- Python學習筆記 - queuePython筆記
- Python學習筆記(2)Python筆記
- python學習筆記(1Python筆記
- Python學習筆記(三)Python筆記
- python——numpy學習筆記Python筆記
- Effective Python學習筆記Python筆記
- Python學習筆記(一)Python筆記