目錄
依賴庫的安裝
pip install uncompyle6
測試過的支持文件
.pyc ,.pyo
反編譯文件夾下所有文件
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
# Time : 14:09
# Email : [email protected]
# File : pycToPy.py
__author__ = "ChenLiang.Miao"
# import --+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ #
import os
import sys
# function +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ #
def run(folder, flag='.pyc'):
unPath = sys.executable
unPath = unPath[0: unPath.rfind(os.sep)]
for r, dirs, fs in os.walk(folder):
for f in fs:
fileName, oldFlag = os.path.splitext(f)
if oldFlag == flag:
oldPath = os.path.join(r, f)
newname = oldPath[0:oldPath.rfind('.')] + '.py'
print oldPath
print newname
command = "python -u " + unPath + "\Scripts\uncompyle6.exe " + oldPath + " > " + newname
os.system(command)
# +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ #
if __name__ == "__main__":
fp = r'E:\MCL\python\demo\tsm3'
run(fp)
知識點:
獲取編譯器所在路徑
unPath = sys.executable
unPath = unPath[0: unPath.rfind(os.sep)]
與主程序同步執行shell命令
command = "python -u " + unPath + "\Scripts\uncompyle6.exe " + oldPath + " > " + newname
os.system(command)