我想知道pyc文件(python字節碼)是什麼。我想知道所有的細節。 我想知道pyc文件如何與編譯器接口。它是EXE的替代品嗎? 是否需要由python運行? 它是否與.py文件一樣便攜? 我應該在哪裏使用這個?何處使用pyc文件
回答
爲了補充Mike Graham的回答,有一些有趣的評論here給出了pyc文件的一些信息。最有趣的是,我懷疑你是這樣一行:
從'.pyc'或'.pyo'文件中讀取的程序運行速度比從'.py '文件;關於'.pyc'或'.pyo'文件的唯一更快的速度是它們被加載的速度。
哪一個打在頭上w.r.t. pyc文件的癥結所在。 A pyc
是預解釋的py
文件。 python字節碼仍然與從py
文件生成的相同 - 不同之處在於,當使用pyc
文件時,您不必經歷創建pyc
輸出的過程(在運行py
文件時)。請閱讀,因爲您不必將python腳本轉換爲python字節碼。
如果您遇到過java
中的.class文件,這是一個類似的概念 - 不同之處在於java必須在java解釋器執行應用程序之前使用javac
編譯。不同的做事方式(內部會因爲不同的語言而非常不同),但同樣的廣泛思想。
Python字節碼需要Python才能運行,不能在沒有Python的情況下獨立運行,並且特定於Python的特定版本x.y
。它應該可以跨平臺移植到同一版本。你沒有一個共同的理由來使用它; Python使用它來優化解析重複導入時的.py文件。你的生活會很好,忽略pyc文件的存在。
從docs:
由於對於使用了大量的標準模塊,如果在目錄中的垃圾郵件中還有一個叫spam.pyc的文件,短節目的啓動時間的重要加速.py被發現,這被假定爲包含模塊垃圾郵件的已經「字節編譯」版本。用於創建spam.pyc的spam.py版本的修改時間記錄在spam.pyc中,如果它們不匹配,則.pyc文件將被忽略。
請參閱參考資料以瞭解更多信息。但一些具體答案:
spam.pyc文件的內容與平臺無關,因此Python模塊目錄可以由不同體系結構的計算機共享。
這是不是可執行文件;它被編譯器內部用作中間步驟。
通常,您不需要手工製作.pyc文件:解釋器會自動生成.pyc文件。
- 1. 如何避免.pyc文件?
- 2. 使用uncompyle2反編譯* .pyc文件
- 3. 刪除* .pyc文件
- 4. WSGI與.pyc文件
- 5. .pyc文件在哪裏?
- 6. cx_Freeze和PYC/PYD文件
- 7. 讓Python忽略.pyc文件
- 8. Python不檢測.pyc文件
- 9. * pyc文件不被發現
- 10. 超出主文件夾.pyc文件?
- 11. 如何執行* .pyc文件的文件直接在Linux終端
- 12. 如何在導入其他.py文件時運行.pyc文件?
- 13. 嵌入式Python 3在使用importlib時不創建.pyc文件
- 14. Python不解釋已更改的文件,使用過時的.pyc
- 15. 使用預生成的.pyc或.pyo文件訪問被拒絕
- 16. BASH;使用find和-exec刪除.pyc文件
- 17. 只安裝.pyc文件與setuptools的
- 18. 分發.pyc文件有什麼限制?
- 19. 編譯器是否針對.pyc文件?
- 20. 停止python生成pyc文件
- 21. .pyc文件和天真的加密
- 22. AWS Lambda和Python的.pyc文件
- 23. ZipFile模塊創建.pyc文件
- 24. Spyder沒有更新.pyc文件
- 25. 打開.pyc文件時出現錯誤
- 26. 什麼時候刷新.pyc文件?
- 27. 忽略git倉庫中的.pyc文件
- 28. 如何使用沒有.pyc文件的GIT添加所有目錄?
- 29. 如何在使用nose2運行測試時將.pyc文件生成爲靜音
- 30. Django的刪除源文件,並生成PYC文件