32.10. py_compile — 编译 Python 源文件 — Python 文档

来自菜鸟教程
Python/docs/2.7/library/py compile
跳转至:导航、​搜索

32.10. py_compile — 编译 Python 源文件

源代码: :source:`Lib/py_compile.py`



py_compile 模块提供了从源文件生成字节码文件的函数,以及当模块源文件作为脚本调用时使用的另一个函数。

虽然不经常需要,但在安装共享使用的模块时,此功能非常有用,特别是如果某些用户可能没有权限在包含源代码的目录中写入字节码缓存文件。

exception py_compile.PyCompileError
尝试编译文件时发生错误时引发异常。
py_compile.compile(file[, cfile[, dfile[, doraise]]])
将源文件编译为字节码并写出字节码缓存文件。 源代码从名为 file 的文件加载。 字节码写入 cfile,默认为 file + 'c''o' 如果在现任口译员)。 如果指定了 dfile,它会在错误消息中用作源文件的名称,而不是 file。 如果 doraise 为 true,则在编译 file 时遇到错误时会引发 PyCompileError。 如果 doraise 为 false(默认值),则会将错误字符串写入 sys.stderr,但不会引发异常。
py_compile.main([args])

编译几个源文件。 在 args 中命名的文件(或在命令行上,如果 args 未指定)被编译并以正常方式缓存生成的字节码。 此功能不搜索目录结构来定位源文件; 它只编译显式命名的文件。 如果 '-' 是 args 中的唯一参数,则文件列表取自标准输入。

2.7 版更改: 增加了对 '-' 的支持。

当此模块作为脚本运行时,main() 用于编译命令行上命名的所有文件。 如果无法编译文件之一,则退出状态为非零。

在 2.6 版更改: 添加了当模块作为脚本运行时的非零退出状态。


也可以看看

模块 compileall
用于编译目录树中所有 Python 源文件的实用程序。