Python将Py编译成Pyc
Python 其实是有编译的,在执行 py 文件时,Python 程序会将 py 文件编译成 pyo,然后再交由 Python 的虚拟机执行。
编译成 pyo 本质上和 py 没有太大区别,只是对于这个模块的加载速度提高了,而并没有提高代码的执行速度,所以通常情况下不用主动编译 py 文件。
但编译成 pyo 后可以隐藏源代码,就像 C 用 GCC 编译后生成的文件一样。不过,实际上有反编译 Python 的程序(执行cat some.pyc
就能看到字符串)。
编译单独的 py 文件:
python -O -m py_compile vzHelloWorld.py
编译某一目录下的所有 py 文件:
python -O -m compileall /home/icyomik/Python/
附注: 命令中没有用到compile(),这是因为py_compile模块的main()函数调用了compile() > -m 表示把后面的模块当成脚本来运行 > -O 优化字节码(没有该参数则生成PYC) > -OO 表示优化的同时并删除掉文档字符串