如何把.pyc文件还原为.py文件!实测!可用!
前言:
做项目的过程中,从github下载了程序,但是阅读程序发现import 少一个py文件,相应文件夹下只有对应的pyc文件,这个问题折磨了我大概四个月的时间(原因还是因为太懒,不查资料,不思考),但实际处理只用了半个小时不到,废话不多说,来看看如何解决的吧。
基础知识:
首先.py文件大家应该都知道,我就不多赘述了。.pyc文件百度有非常详细的解释,我自己理解的就是在我们运行py文件时,同各种编程语言一样,都会进行编译的过程,以便更好更快的下次运行。而Python会在执行.py文件的时候。将.py形式的程序编译成中间式文件(byte-compiled)的.pyc文件,所以,在我们运行python文件的时候,就会自动首先查看是否具有.pyc文件,如果有的话,而且.py文件的修改时间和.pyc的修改时间一样,就会读取.pyc文件,否则,Python就会读原来的.py文件。其实并不是所有的.py文件在与运行的时候都会产生.pyc文件,只有在import相应的.py文件的时候,才会生成相应的.pyc文件。
用到的工具:
win10/linux;
pip;
uncompyle6;
步骤:
1.在对应文件夹下,打开cmd/终端:
2.直接使用pip install uncompyle6(python3对应版本)。但是我出现了以下问题:
提示:pip版本过低,所以就按照提示升级pip
但是每次安装都出现错误:查看日志是因为:TIME-OUT
有过编程经验的大概能猜到是因为去外网下载太慢了,所以更换源就可以了(我的新电脑,因为疫情我的之前的电脑还在学校)。
具体方法百度很详细。
大概步骤就是要在c盘user的xx文件夹下创建pip文件夹,然后在pip文件夹下创建pip.ini文件。
并输入保存一下内容:
[global]
index-url=https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host=pypi.tuna.tsinghua.edu.cn
disable-pip-version-check = true
timeout = 6000
然后关闭cmd或者终端重新打开。
然后在更新pip,简直神速:
然后在pip install uncompyle6,同样神速!
3.安装完uncompyle之后,win需要添加%python_home%\Scripts\到环境变量:具体方法自行百度,大概就是我的电脑右键属性,环境变量,选择path然后编辑,添加即可。Linux系统则不需要。
4.运行 uncompyle6 -o xx.py xx.pyc xx为你的文件名。就会在你.pyc对应文件夹下产生py原文件。
5.然后就可以用你的编译工具打开原文件啦!
是不是特别简单!