2020年5月3日 / 126次阅读 / Last Modified 2020年5月3日
安装配置
python作为一种解释执行的高级语言,在执行之前,是无需显示的编译的。python解释器会在代码载入的时候,自动将python源码编译成python的byte code,然后执行。这样做的好处是,如果某个模块的源代码没有变化,下次载入的时候,就会加快速度。注意:只是加快载入的速度,而不是加快执行的速度!
我们常常见到的__pycache__目录,里面存放的就是编译成byte code之后的python代码。这个目录可以随意删除!
因此,python还是有编译这个概念的,只是一般情况下,我们用不到!一般情况下,编译的过程被python隐藏并自动化了。同时,我们也可以使用python标准库里的py_compile模块和compileall模块,来显示地编译python代码,得到.pyc或者.pyo文件(使用python -O优化编译)。如果只发布编译后的python byte code,可以起到适当保密的作用!
下面介绍如何显示地编译python文件。
>>> import py_compile
>>> py_compile.compile('test.py')
或者:
$ python3 -m py_compile test.py
这两种方式,都可以在test.py所在的目录下,自动生产__pycache__目录,里面会有一个叫test.cpython-37.pyc的文件。(学习python -m的使用)
>>> import compileall
>>> compileall.compile_dir('../src')
或者:
$ python3 -m compileall ../src
所有编译出来的.pyc文件,都放在__pycache__目录下。
以上就是对编译python代码的基础知识的学习。
-- EOF --
本文链接:https://www.pynote.net/archives/1862
《编译python代码》有1条留言
前一篇:During handling of the above exception, another exception occurred是如何发生的?
后一篇:python是解释型语言,为啥还要编译?
Ctrl+D 收藏本页
©Copyright 麦新杰 Since 2019 Python笔记
py_compile和compileall模块,都属于python标准库。 [ ]