我想知道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. 如何避免.pyc文件?
- 3. 通過Jython使用.pyc文件
- 4. 使用PYC文件而不是PY
- 5. 我可以只使用PYC文件嗎
- 6. 使用uncompyle2反編譯* .pyc文件
- 7. 刪除* .pyc文件
- 8. WSGI與.pyc文件
- 9. Pydev和* .pyc文件
- 10. 當Django或python與Mercurial一起使用時,如何處理pyc文件?
- 11. cx_Freeze和PYC/PYD文件
- 12. .pyc文件在哪裏?
- 13. 讓Python忽略.pyc文件
- 14. PythonNN.zip:需要PYC文件
- 15. Python不檢測.pyc文件
- 16. * pyc文件不被發現
- 17. 反編譯* .pyc文件
- 18. 超出主文件夾.pyc文件?
- 19. 如何將字符串轉換爲pyc文件而不使用py文件?
- 20. 如何在導入其他.py文件時運行.pyc文件?
- 21. 如何執行* .pyc文件的文件直接在Linux終端
- 22. 使用預生成的.pyc或.pyo文件訪問被拒絕
- 23. BASH;使用find和-exec刪除.pyc文件
- 24. 嵌入式Python 3在使用importlib時不創建.pyc文件
- 25. Python不解釋已更改的文件,使用過時的.pyc
- 26. ZipFile模塊創建.pyc文件
- 27. .pyc文件和天真的加密
- 28. 停止python生成pyc文件
- 29. 打開.pyc文件時出現錯誤
- 30. 只安裝.pyc文件與setuptools的