在Python反编译中批量pyc转 py的实现代码
作者:我也是个傻瓜 发布时间:2023-08-11 20:21:04
标签:Python,反编译,pyc,py
什么是pyc文件
pyc是一种二进制文件,是由py文件经过编译后,生成的文件,是一种byte code,py文件变成pyc文件后,加载的速度有所提高,而且pyc是一种跨平台的字节码,是由python的虚拟机来执行的,这个是类似于JAVA或者.NET的虚拟机的概念。
使用uncompyle6可以将pyc文件转换为py文件,因此,也可以调用CMD进行批量操作,代码如下:
import os
import sys
def walk_dir(dir,topdown=True):
words=[]
words=['asyncio.','attr.','bs4.','chardet.','Crypto.','chardet.','concurrent.','ctypes.','dateutil.','distutils.','email.','et_xmlfile.','fiona.','geographiclib.','geojson.','geopandas.','geopy.','html.','http.','importlib.','jinja2.','multiprocessing.','numpy.','openpyxl.','pandas.','pkg_resources.','pyecharts.','pyproj.','pytz.','requests.','setuptools.','shapely.','simplejson.','soupsieve.','sqlalchemy.','unittest.','urllib3.','xlsxwriter.','xml.','xlrd.']
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("\\","/")
isconvert=True
for w in words:
if (name.startswith(w)):
isconvert=False
break
if isconvert:
os.system('uncompyle6 -o "%s.py" "%s.pyc"'%(part_file_name,part_file_name))
print(part_file_name)
walk_dir(os.getcwd())
来源:https://www.cnblogs.com/liweis/p/15894159.html


猜你喜欢
- 约定:import pandas as pdimport numpy as npfrom numpy import nan as NaN滤除
- 一、configparser模块是什么可以用来操作后缀为 .ini 的配置文件;python标准库(就是python自带的意思,无需安装)二
- 服务器响应HTTP的类型ContentType大全,使用方法:<% Response.ContentType =&
- 本文实例为大家分享了python分割一个文本为多个文本,供大家参考,具体内容如下# load file# for each row## if
- 🌟 写在前面专栏介绍:凉哥作为 Vue 的忠实 粉丝输出过大量的 Vue 文章,应粉丝要求开始更新 Vue3 的相关技术文章,Vue 框架目
- 一、视图的基本概念视图是用于查询的另外一种方式。 与实际的表不同,它是一个虚表;因此数据库中只存在视图的定义,而不存在视图中相对应的数据,数
- 全局,动态,默认值-1表示自动调整大小,公式:8 + (max_connections / 100)。最小值0,最大值16384,查看当前:
- tornado中的协程是如何工作的协程定义Coroutines are computer program components that g
- 1、Git本地版本库结构如下图所示:工作区(Working Directory)添加、编辑、修改、删除文件等操作。暂存区(Stage)打算提
- 如下所示:# 返回一个列表中出现次数最多的元素def showmax(lt): index1 = 0&n
- 经常有需要扫描目录,对文件做批量处理的需求,所以对目录处理这块做了下学习和总结。Python 中扫描目录有两种方法:os.listdir 和
- oracle排序后如何获取第一条数据场景想要获取下列sql的数据的第一条select NEXT_FOLLOWUP_DATE fr
- 一个动态载入asp树源码。把 node.htc, style.css 保存与 css 目录下. index.asp subtree.asp
- 单例模式的实现方式将类实例绑定到类变量上class Singleton(object): _instance = Nonedef
- 例一:使用httplib访问某个url然后获取返回的内容:import httplibconn=httplib.HTTPConne
- 食用前准备python 3.10.10 #二维码的库ddddocr 需要库import timeimport ddddocr源码# impo
- Oracle的系统要求企业版:CPU最低PENTIUM200M推荐PENTIUMIII1G以上 内存最低128M推荐512M 硬盘空间系统盘
- 在日常运维中,如果涉及到用户管理,就一定会用到给用户设置密码的工作,其实吧,平时脑子里觉得设置个密码没什么,但要真让你随手敲一个12位带特殊
- 一、yield迭代器在python深度学习模型读取数据时,经常遇到yield,互联网搜索后,将比较容易理解的说明记录一下。二、使用步骤1.引
- 在《数据库原理》里面,对聚簇索引的解释是:聚簇索引的顺序就是数据的物理存储顺序,而对非聚簇索引的解释是:索引顺序与数据物理排列顺序无关。正式