pyc
什么是pyc文件
pyc是一种二进制文件,是由py文件经过编译后,生成的文件,是一种byte code,py文件变成pyc文件后,加载的速度有所提高,而且pyc是一种跨平台的字节码,是由
要编译为 *.pyc 文件,需要引入 Python 中的模块 py_compile,在交互模式下输入:
import py_compile
py_compile.compile("test.py")
-
命令行:
python -m py_compile file.py # 单文件
python -m py_compile /root/src/{file1,file2}.py # 多文件
-
运行 uncompyle6 -o xx.py xx.pyc xx为你的文件名。就会在你.pyc对应文件夹下产生py原文件。
uncompyle6 -o DataManage.py .\DataManage.pyc
### 反编译 pyc
首先安装库 uncompyle: pip install uncompyle
命令行下:uncompyle6 test.pyc > test1.py
基本格式
pyc文件一般由3个部分组成:
-
最开始4个字节是一个Maigc int, 标识此pyc的版本信息, 不同的版本的 Magic 都在
Python/import.c
内定义 -
接下来四个字节还是个int,是pyc产生的时间(TIMESTAMP, 1970.01.01到产生pyc时候的秒数)
-
接下来是个序列化了的 PyCodeObject(此结构在
Include/code.h
内定义),序列化方法在Python/marshal.c
内定义
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构