一、 py_compile
py_compile在python2和python 3中都可用的标准库,可以直接使用。使用方法如下:
1) 在控制台或者终端直接使用命令编译
以 hello.py 为例,源代码如下:
def hello():
print("Hello, World!")
编译hello.py的命令是:python -m py_compile hello.py
编译成功之后,在当前路径的 __pycache__ 文件夹下,生成了hello.cpython-37.pyc,
2) 写python代码编译,如下:
import py_compile
py_compile.compile('hello.py')
py_compile.compile 函数也可以跟多个文件的文件名。
二、compileall
py_compile 虽然可以编译一个或者多个文件,但是,如果要编译路径,就不方便了。编译整个路径可以使用compileall,compileall也是python的标准模块,可以直接使用。
1)命令行编译
可以使用 python -m compileall . 编译当前路径。执行这个命令时,会逐步递归把所有的子目录的python代码都编译。
compileall 也可以只编译某一个python文件,例如:
python -m compileall hello.py
2) 在代码中使用函数编译,示例代码如下
import compileall
compileall.compile_dir('.')
compileall.compile_file('hello.py')