avoiding .pyc
files是否有任何優點,性能或其他方面的好處,除了方便在源文件夾中沒有一堆這些文件?避免.pyc文件的好處?
回答
我不認爲真的有。 .pyc
文件是緩存的字節碼文件,並且您可以節省啓動時間,因爲每次啓動解釋器時,Python都不必重新編譯您的python文件。
頂多關掉字節碼編譯用於測量解釋多少時間花在這一步。如果你想比較多少時間保存,刪除所有.pyc
文件在您的項目,並通過使用-B切換到解釋時間的Python:
$ time python -B yourproject
則沒有-B開關再次運行:
$ time python yourproject
可能是您要運行程序的用戶沒有對源代碼目錄的寫入權限;例如,您不希望遠程用戶有任何機會通過漏洞更改您的源代碼的Web服務器。在這種情況下,我會使用包含的compileall
module來對使用特權用戶的所有內容進行字節編譯,而不是放棄編寫.pyc
文件。
這是可能的pyc文件可能會鼓勵人們認爲他們不需要維護/船的原始來源。 pyc文件可能不能在操作系統和Python版本之間移植。在移動Python模塊時,將pyc文件放在後面並僅複製或發佈源代碼並讓主機python生成新的pyc文件比較安全。
順便說一句,在Python 3.2 pyc文件不再進入源文件夾,但在__pycache__
(源文件夾)。
'.pyc'文件確實在Python版本之間不可移植,除非你打包了一個特定的python版本,否則你不應該用這些文件發佈代碼。 –
我能想到的一個原因是:在開發過程中,如果您刪除或重命名.py
文件,.pyc
文件將保留在您的本地副本中,其中包含舊名稱和舊字節碼。由於您通常不會將.pyc
文件提交到版本控制,因此可能會導致在您的計算機上不會發生的流浪ImportError
,但會在其他計算機上執行。
- 1. 如何避免.pyc文件?
- 2. 何處使用pyc文件
- 3. 避免以前的文件
- 4. 避免的JavaScript文件
- 5. 刪除* .pyc文件
- 6. WSGI與.pyc文件
- 7. Pydev和* .pyc文件
- 8. 你好,我想,以避免文件重複的行
- 9. 使ReSharper避免* .designer.cs文件
- 10. 避免頭文件「污染」
- 11. 避免創建空文件
- 12. 在java中避免!= null的好處是什麼?
- 13. 在Java中創建對象時避免「新」Keword的好處
- 14. Gulp:限制文件處理併發性;避免同時處理*所有文件*
- 15. 避免在Windows批處理文件的for循環中打印
- 16. 避免批處理文件中的長行代碼
- 17. 避免處理底層流
- 18. 避免預處理#includes
- 19. 避免「分享」的好方法?
- 20. Magic QueryStrings - 要避免的好模式?
- 21. 避免內存泄漏的好方法
- 22. 好的方法來避免DivideByZero異常
- 23. mysql - 避免重複的最好方法
- 24. 避免.properties文件GNU Gettext的java的
- 25. 如何避免使用selenium webdriver/python運行測試套件時使用.pyc文件?
- 26. cx_Freeze和PYC/PYD文件
- 27. .pyc文件在哪裏?
- 28. 讓Python忽略.pyc文件
- 29. PythonNN.zip:需要PYC文件
- 30. Python不檢測.pyc文件
編號如果最好不要包含'.pyc',那麼Python不會包含它們=) – katrielalex