前言:

做项目的过程中,从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/终端:

python bin文件保存成图片_.pyc文件

2.直接使用pip install uncompyle6(python3对应版本)。但是我出现了以下问题:

python bin文件保存成图片_python bin文件保存成图片_02

提示:pip版本过低,所以就按照提示升级pip

python bin文件保存成图片_环境变量_03

但是每次安装都出现错误:查看日志是因为: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

python bin文件保存成图片_环境变量_04

然后关闭cmd或者终端重新打开。

然后在更新pip,简直神速:

python bin文件保存成图片_.pyc文件_05

然后在pip install uncompyle6,同样神速!

python bin文件保存成图片_Python_06

3.安装完uncompyle之后,win需要添加%python_home%\Scripts\到环境变量:具体方法自行百度,大概就是我的电脑右键属性,环境变量,选择path然后编辑,添加即可。Linux系统则不需要。

python bin文件保存成图片_环境变量_07

4.运行 uncompyle6 -o xx.py xx.pyc xx为你的文件名。就会在你.pyc对应文件夹下产生py原文件。

python bin文件保存成图片_python bin文件保存成图片_08

5.然后就可以用你的编译工具打开原文件啦!

python bin文件保存成图片_环境变量_09