2022年1月6日木曜日

pyc to py

pyc ファイルを py へ decompile。

使用したのは uncompyle6 v3.8。Python3.10 だと動かなかったので、3.8 で環境構築。これで動きました。 

数10ファイルのうち、エラーはひとつ。他はほぼ完ぺきに再現できているでしょう。

import uncompyle6
import glob

for f in glob.iglob("./**/*.pyc", recursive=True):
    print(f)
    pyc_path = f.split('.')[1]
    py_path = '.'+pyc_path + '.py'
    with open(py_path, "w") as fileobj:
        try:
            uncompyle6.decompile_file(f, fileobj)
        except:
            print("Error")

********************************
20220108追記
再現内容を見るとインデントのおかしな箇所があり、そのままでは完走しませんでした。修正すればOKでしたが、完ぺきではないようです。ま、ここまで再現できれば素晴らしいのですが。windowsだったからかな?


0 件のコメント:

コメントを投稿