在Python反编译中批量pyc转 py的实现代码

作者:我也是个傻瓜 时间:2023-08-11 20:21:04 

什么是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())

在Python反编译中批量pyc转 py的实现代码

来源:https://www.cnblogs.com/liweis/p/15894159.html

标签:Python,反编译,pyc,py
0
投稿

猜你喜欢

  • GO 函数式选项模式(Functional Options Pattern)

    2024-05-22 10:16:05
  • MySql多表查询 事务及DCL

    2024-01-29 04:55:28
  • PHP 面向对象程序设计(oop)学习笔记(一) - 抽象类、对象接口、instanceof 和契约式编程

    2023-11-19 20:31:59
  • Python中使用Opencv开发停车位计数器功能

    2022-04-27 17:26:44
  • vue-week-picker实现支持按周切换的日历

    2024-04-30 10:16:23
  • pycharm实现猜数游戏

    2023-01-14 19:04:49
  • mysql查询优化之100万条数据的一张表优化方案

    2024-01-13 20:10:04
  • 通过mod_python配置运行在Apache上的Django框架

    2021-07-09 17:54:45
  • jupyter-lab设置自启动及远程连接开发环境

    2023-08-29 09:11:39
  • python做反被爬保护的方法

    2021-06-09 12:49:03
  • React+TypeScript+webpack4多入口配置详解

    2024-02-24 03:23:31
  • Jupyter notebook 启动闪退问题的解决

    2023-11-17 21:08:58
  • mysql向mariadb平滑过渡的步骤详解

    2024-01-26 18:12:39
  • python批量提取word内信息

    2021-05-18 14:25:50
  • python 类的继承 实例方法.静态方法.类方法的代码解析

    2021-12-19 14:19:34
  • 详解基于webpack&gettext的前端多语言方案

    2024-04-16 09:52:34
  • Pycharm同步远程服务器调试的方法步骤

    2023-04-27 18:34:53
  • python之链表的反转方式

    2022-02-08 10:20:06
  • JDBC 连接MySQL实例详解

    2024-01-26 23:34:27
  • Python新手入门之解释器的安装

    2023-02-14 15:41:52
  • asp之家 网络编程 m.aspxhome.com