批量将.pyc文件转化为.py文件
问题
买了一个无人驾驶自动避障小车玩玩,但是源文件全部都是.pyc编译过的加密文件,无法看到源代码,想把它转换成.py文件,便于以后的调试。(我先在虚拟机Linux下进行单个转化尝试,批量转化是在Windows下面进行的。)
解决办法
1.安装uncompyle6
uncompyle6可将python字节码转换回等效的python源代码,它接受python 1.3版到3.8版的字节码。
2.pyc转py
在pyc文件夹下打开终端,输入指令(文件名改成自己的就好)uncompyle6 -o appController.py appController.pyc
uncompyle6 -o appController.py appController.pyc
在当前文件夹下就成功转化出一个同名的,py文件。成功!
3.pyc批量转换为py
运行以下代码段,将路径改成自己的路径即可,例如:我的LR_toolkit文件夹下面的所有.pyc都会批量转化成.py。
import os
import sys
def walk_dir(dir,topdown=True):
for root, dirs, files in os.walk(dir, topdown):
for name in files:
if name.endswith('.pyc'):
part_name = name[0:-4]
part_file_name = os.path.join(root, part_name).replace("\\","/")
print(part_file_name)
os.system('uncompyle6 -o %s.py %s.pyc'%(part_file_name,part_file_name))
dirname = "P:/Research/02Car/code/LR_toolkit"
walk_dir(dirname)
成功!开心!
用的时候再复制到虚拟机就行啦!
参考链接:
https://blog.csdn.net/wobeatit/article/details/104557545
https://www.bilibili.com/read/cv10945559/