pyc文件是py文件编译后生成的字节码文件(byte code)。pyc文件经过python解释器最终会生成机器码运行。所以pyc文件是可以跨平台部署的,类似Java的.class文件。一般py文件改变后,都会重新生成pyc文件。
为什么要手动提前生成pyc文件呢,主要是不想把源代码暴露出来。
一、批量pyc递归生成
python -m compileall <dir>
### 直接递归把文件夹下的py编译成pyc了
或者
import compileall
compileall.compile_dir(r'/path')
### 这个函数的格式如下: compile_dir(dir[, maxlevels[, ddir[, force[, rx[, quiet]]]]])
二、生成单个pyc文件
对于py文件,可以执行下面命令来生成pyc文件。
python -m foo.py
另外一种方式是通过代码来生成pyc文件。
import py_compile
py_compile.compile('/path/to/foo.py')