Python 是一种解释型语言
Python是一种通用的解释型、交互式、面向对象的高级编程语言。Python在运行时由解释器处理。在执行程序之前,无需将其编译。这与PERL和PHP类似。
执行步骤
第一步 − 程序员编写Python源代码。文件扩展名为.py
第二步 − 程序员编写的Python源代码被编译为Python字节码。在此过程中,会创建一个带有 扩展名.py 的文件。
第三步 − 虚拟机执行扩展名为.py的文件。虚拟机是Python的运行时引擎,Python程序在此处运行。
因此,Python解释器包括程序编译的过程,将其编译为字节码,然后由虚拟机执行。
让我们看下面的插图,更好地理解执行过程

创建.pyc文件
要在Python中创建.pyc文件,请使用PyCompile。官方文档也建议如下所示-

py_compile模块
py_compile模块提供了一个函数,用于从源文件生成字节码文件,还提供了另一个函数,用于在模块源文件作为脚本调用时使用。py_compile.compile()将源文件编译为字节码并将字节码缓存文件写出。
现在,让我们看一个示例-
import py_compile
py_compile.compile("demo.py")
使用py_compile.main()
import py_compile
py_compile.main(['File1.py','File2.py','File3.py'])
编译模块
编译模块提供一些实用函数来支持安装Python库。这些函数将编译一个目录树中的Python源文件。该模块可用于在库安装时创建缓存的字节码文件,这使得即使是没有对库目录有写权限的用户也能够使用它们。
您还可以使用编译模块从命令行进行编译-
python -m compileall <file_1>.py <file_n>.py
编译所提到的目录中的每个文件。compile_dir()递归地遍历以dir命名的目录树,在此过程中编译所有.py文件。如果所有文件编译成功,则返回true;否则返回false。
import compileall
compileall.compile_dir(direname)
使用compileall.compile_file():compile_file()方法编译带有路径fullname的文件。如果文件编译成功,则返回真值,否则返回假值:
import compileall
compileall.compile_file('YourFileName.py')
极客笔记