.pyc
-
基于虚拟机的语言:Java、C#、Python
-
先编译后解释的语言:Java、Python
如,我们在命令行执行一个Java程序:
javac hello.java
java hello
Python也一样,当我们执行python hello.py时,
Python编译的结果保存在内存的PyCodeObject中
Python解释器将PyCodeObject写回到pyc文件中,.pyc就是预编译后的字节码文件
-
Python程序在第二次运行时,首先会在硬盘中寻找pyc文件,并判断它是不是最新的,如果是,直接载入。
-
可以说pyc是PyCodeObject的一种持久化保存方式。
-
并不是所有的.py文件在运行的时候都会产生.pyc文件,只有在import相应的.py文件的时候,才会生成相应的.pyc文件。
-
.pyc文件的另一个好处是,降低源码泄露的风险。因为可以把源码编译成pyc,再发布出去。
参考链接: