日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

pyc文件反编译成py文件

發布時間:2024/8/1 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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文件

  • 命令行:
python -m py_compile file.py # 單文件python -m py_compile /root/src/{file1,file2}.py # 多文件
  • 代碼:
import py_compile py_compile.compile("test.py") # 單文件compileall.compile_dir("存放海量py的目錄") # 多文件

將pyc文件反編譯成py文件

  • pip install uncompyle6(python3對應版本)

  • 安裝完uncompyle之后,win需要添加%python_home%\Scripts\到環境變量:具體方法自行百度,大概就是我的電腦右鍵屬性,環境變量,選擇path然后編輯,添加即可。Linux系統則不需要。

  • 運行 uncompyle6 -o xx.py xx.pyc xx為你的文件名。就會在你.pyc對應文件夾下產生py原文件。

uncompyle6 -o DataManage.py .\DataManage.pyc
  • 然后就可以用你的編譯工具打開原文件啦

總結

以上是生活随笔為你收集整理的pyc文件反编译成py文件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。