Python 执行细节
1.Python脚本执行时,Python内部会首先将源代码编译成字节码的形式。字节码是平台无关的。
- 字节码是平台无关的
- 如果Python进程拥有写入权限,则它会将脚本的字节码以一个
.pyc
为扩展名的文件。当脚本运行后你可以在源代码所在的目录附近看到.pyc
文件。- 下一次运行脚本时,如果你在上次保存字节码之后没有修改源代码时,Python会自动加载
.pyc
文件并跳过编译步骤
- 下一次运行脚本时,如果你在上次保存字节码之后没有修改源代码时,Python会自动加载
- 如果Python进程没有写入权限,则字节码会在内存中生成并在脚本执行结束后抛弃。
.pyc
文件也是发布Python程序的方法之一。此时并不需要提供.py
源代码。
2.字节码由Python虚拟机(简称PVM
)来解释执行。实际上PVM
不是一个独立的程序,它只是迭代运行字节码指令的一个大循环而已,它是Python系统的一部分。