Uncompyle6 convert pyc to py file python 3 (Whole directory)
我有200个pyc文件,需要在一个文件夹中进行转换。 我知道可以通过
关于如何实现此目标的任何想法吗?
在具有外壳程序文件名扩展功能的操作系统中,您也许可以使用外壳程序的文件扩展功能。 例如:
1 | uncompyle6 -o /tmp/unc6 myfiles/*.pyc |
如果您需要更高级的控件或更多控件,则始终可以编写一些可以进行更高级扩展的代码。 这是在POSIX Shell中完成的上述操作,过滤出单个文件
1 2 3 4 5 6 | cd myfiles for pyc in *.pyc; do if [[ $pyc != huge.pyc ]] ; then uncompyle -o /tmp/unc $pyc fi done |
注意:使用Windows批处理命令" FOR / R"执行命令时,似乎在输出目录的"问题"中也提出了此问题
可能并不完美,但对我来说效果很好。
1 2 3 4 5 6 7 8 9 10 11 12 13 | import os import uncompyle6 your_directory = '' for dirpath, b, filenames in os.walk(your_directory): for filename in filenames: if not filename.endswith('.pyc'): continue filepath = dirpath + '/' + filename original_filename = filename.split('.')[0] original_filepath = dirpath + '/' + original_filename + '.py' with open(original_filepath, 'w') as f: uncompyle6.decompile_file(filepath, f) |