预编译python脚本有什么好处?

时间:2016-01-29 12:11:18

标签: python-2.7 syntax-error precompile

到目前为止,我们知道我们可以使用

预编译python脚本
python -m py_compile script.py

但我的问题是这样做有什么好处? 我知道在python代码中indentation errorsynatx error的情况下它不会编译。 这部分是它将检查的所有其他错误

它会检查任何type error ??

Example could be addition of a `int` and `string`    x= 10+hello

或任何错误的函数调用

 range(2,4,6,7)  - wrong call as it contains 4 parameters

请澄清一个更好的解释。

1 个答案:

答案 0 :(得分:0)

您的两个示例(TypeError和不正确的range()调用(也是TypeError btw))不是语法错误,因此不会在编译时被捕获。

它们将生成异常,只有在代码执行时才会被捕获。

至于优势是什么,来自the docs

  

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

此外,来自this问题:

  

...关于'.pyc'或'.pyo'文件的唯一更快的事情就是   它们加载的速度。

如果您的代码很大,这是一个优势,尽管Python仍然会保留已编译的文件,因此手动编译它们并不会让您获益匪浅。