返回列表 发帖

Python字节码(.pyc)

Python中的字节码(bytecode) 是一种数据类型, Python代码的编译结果就是bytecode对象。bytecode对象可以由虚拟机加载后直接运行,而pyc文件就是bytecode在硬盘上的保存形式。

假如有个test.py文件需要执行,那么它会先生成.pyc文件,一般可能的情况如下:

执行 python test.py 会对test.py进行编译成字节码并解释执行,但不会生成test.pyc。
如果test.py中加载了其他模块,如import urllib2,那么python会对urllib2.py进行编译成字节码,生成urllib2.pyc,然后对字节码解释执行。
如果想生成test.pyc,可以使用python内置模块py_compile来编译,也可以执行命令 python -m py_compile test.py 这样,就生成了test.pyc。
加载模块时,如果同时存在.py和.pyc,python会使用.pyc运行,如果.pyc的编译时间早于.py的时间,则重新编译 .py文件,并更新.pyc文件。
如下为生成的.pyc文件示例:

返回列表