【基于cpython,即最常用的python】
1. python运行流程
python源码经编译生成字节码,python解释器(虚拟机)将对字节码进行解析,执行相应的指令。
pyc文件就是python代码经编译后并序列化的二进制文件,用来存储字节码及相应的常量,字符串等信息,对应Python中的PyCodeObject对象。
2. Python的编译
-
Python编译过程中涉及到的文件
1. .py python源代码
2. .pyc python源代码经编译后的字节码文件,跨平台但与python版本有关
3. .pyo 源代码文件经过优化编译后生成的文件,3.5版本后不再使用,而是使用类似“xxx.opt-n.pyc的文件名
4. .pyd python动态链接库(DLL)
DLL文件是一种可执行文件,允许程序共享执行特殊任务所必需的代码和其他资源;
pyd文件虽然是作为python的动态模块,但实质上还是DLL文件,只是后缀改为pyd;
一般是用C、C++、D语言按照一定的格式编写;
5. .pyz/.pyzw 从Python 3.5开始,”Python Zip应用“和“Windows下Python Zip应用”的扩展名。
新增了内置zipapp模块来进行简单的管理,可以用Zip打包Python程序到一个可执行.pyz文件。
- zipapp — Manage executable python zip archives
- https://docs.python.org/3/library/zipapp.html
- <