pyc文件反编译成py文件
前言
從git上拉下來的程序,運行的時候發現import少一個py文件,相應文件夾下只有對應的pyc文件,且程序運行報import不了這個文件模塊。
基礎知識
pyc是一種二進制文件,是由py文件經過編譯后,生成的文件,是一種byte code,py文件變成pyc文件后,加載的速度有所提高,而且pyc是一種跨平臺的字節碼,是由python的虛擬機來執行的,這個是類似于JAVA或者.NET的虛擬機的概念。pyc的內容,是跟python的版本相關的,不同版本編譯后的pyc文件是不同的,3.7編譯的pyc文件,3.6版本的 python是無法執行的。
我自己理解的就是在我們運行py文件時,同各種編程語言一樣,都會進行編譯的過程,以便更好更快的下次運行。而Python會在執行.py文件的時候。將.py形式的程序編譯成中間式文件(byte-compiled)的.pyc文件,所以,在我們運行python文件的時候,就會自動首先查看是否具有.pyc文件,如果有的話,而且.py文件的修改時間和.pyc的修改時間一樣,就會讀取.pyc文件,否則,Python就會讀原來的.py文件。其實并不是所有的.py文件在與運行的時候都會產生.pyc文件,只有在import相應的.py文件的時候,才會生成相應的.pyc文件。
將py文件編譯成pyc文件
- 命令行:
- 代碼:
將pyc文件反編譯成py文件
-
pip install uncompyle6(python3對應版本)
-
安裝完uncompyle之后,win需要添加%python_home%\Scripts\到環境變量:具體方法自行百度,大概就是我的電腦右鍵屬性,環境變量,選擇path然后編輯,添加即可。Linux系統則不需要。
-
運行 uncompyle6 -o xx.py xx.pyc xx為你的文件名。就會在你.pyc對應文件夾下產生py原文件。
- 然后就可以用你的編譯工具打開原文件啦
總結
以上是生活随笔為你收集整理的pyc文件反编译成py文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: FCKEditor的用法与下载
- 下一篇: WareZ入门指南--TLF元老thun