runtimeerror bad magic number in .pyc file錯誤


python文件*.py運行的時候會產生對應的*.pyc文件,這個是python的解釋器把*.py文件編譯得到的二進制文件,完全可以*.py文件一樣運行,功能上沒有任何差別。

很多廠商為了防止源碼外泄,經常會采用把*.py源碼文件編譯后刪除,完全使用*.pyc文件運行自己的產品。當然了,你打開*.pyc文件是一對讓你崩潰的東西,這樣就很好的起到了源碼保護的作用。

但是這里要說到的一個問題是:當你在別的機器上(即不是編譯py文件的機器)運行python *.pyc時可能會報錯:

 

RuntimeError: Bad magic number in .pyc file

magic number是類UNIX系統上文件的前幾個字節的內容,它標志着該文件的類型。Python在編譯生成pyc文件時做了一個類似的標記。當Python解釋器加載pyc文件時必須先驗證該文件的magic number是否正確。

任何magic number被損壞的pyc文件都會引發上述錯誤,包括編輯pyc文件或者使用不同版本的Python解釋器來運行pyc文件,通常錯誤的原因都是Python解釋器的版本問題引起的。

如果這些pyc文件是你自己的,在類UNIX系統上用


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM