本文原创,版权属作者个人所有,如需转载请联系作者本人。Q&微:155122733

--------------------------------------------------------------------------------------------------------

一. 单个生成pyc文件

  1 命令方式---生成pyc文件:

python -m py_compile test.py

  或者

python -m compileall test.py #把单个.py文件编译为字节码文件

  2 脚本方式---生成pyc文件:

import py_compile
if __name__=='__main__':     py_compile.compile(
'/path/to/test.py')#/path/to/代表脚本所在目录

二. 批量生成pyc文件:

  1 命令方式---生成pyc文件:

python -m py_compile /path/to/ #批量生成字节码文件,/path/to/是包含.py文件名的路径

  或者 

python -m compileall /path/to/ #批量生成字节码文件,/path/to/是包含.py文件名的路径

  2 脚本方式---生成pyc文件

import compileall
if __name__=='__main__':
        compileall.compile_dir('/path/to')

 三. 单个生成pyo文件

  1 命令方式---生成pyo文件:

python -O -m py_compile test.py

  或者

python -O -m compileall test.py

四. 批量生成pyo文件:

  1 命令方式---生成pyo文件:

python -O -m py_compile /path/to/

  或者

python -O -m compileall /path/to/


  或者
  python -OO -m py_compile file.py
  python -OO -m py_compile /path/to/
  python -OO -m compileall file.py
  python -OO -m compileall /path/to/

六. 说明:
  -m参数相当于import,-m py_compile 相当于import py_compile,也即把后边跟随的库模块当做脚本运行。这样生成的字节码文件后缀名为.pyc文件。
  -O参数表明要生成更加紧凑的优化后的字节码, 这样生成的字节码文件后缀名为.pyo文件。-OO会进一步移除-O选项生成的优化后的字节码文件中的文档字符串,生成的文件后缀名仍然为.pyo文件。

  注意:不同版本编译后的pyc文件是不同的,比如3.4编译的pyc文件在3.3版本的python是无法执行的。

 

1 命令方式---生成pyo文件: