大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
今天手残了,本来想着删掉项目里面所有的pyc文件,不知道脑袋想着什么就变成了
find . -type f -name "*.py" -exec rm -f {} \;
结果你懂得,我这两天写的代码还没提交到git!整个人瞬时懵逼……
后来看着文件夹里面还剩下的pyc文件我灵机一动,可以试试从pyc文件反编译回去,经过高人指点,有了下面这段
使用uncompyle
项目地址:https://github.com/wibiti/uncompyle2
注: 按照官方文档的说法应该是只支持python 2.7,其他版本我也没有测试
安装
最方便的就是使用pip安装
pip install uncompyle
使用方法
我使用pip在mac os上安装好后的可执行文件名叫uncompyle6
,很奇葩有没有
uncompyle6 --help
查看帮助
uncompyle6 models.pyc > models.py
将models.pyc反编译成py文件
uncompile -o . *.pyc
将当前文件夹中所有的pyc文件反编译成后缀名为.pyc_dis的源文件
总结
- 反编译后的效果可以说很理想,如果你的代码格式符合PEP8规范的要求,那就基本和源来的文件一样,不过各种注释就没有了(不能要求太高是不是)
- 最后改的代码还没有运行(没有生成pyc)的,就真的丢了,不过不多,再写一遍吧!
- 问题是解决了,不过最后要反思一下,使用
find + rm
删除文件的时候一定要小心,按确认之前一定要再三检查 - 最后贴上Stack Overflow上面的一个回答以及下面的评论的截图
我想说 +1 and another :)
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/172363.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...