☰
python如何编译代码
2026/10/30 2:26:53 网站建设 项目流程

代码在去解释执行之前, 是要被编译成为.pyc或者是.pyo的文件的, 这些文件是中间字节码表示的文件, 之后才会让虚拟机去进行解释执行的。

1、pyc文件

pyc它是一种二进制文件, 这个是由py文件经过编译之后所生成的文件, 它属于一种byte code, 当py文件变成pyc文件以后, 加载的速度就有一定的提升。

再说了, pyc这东西其实是一种能够到处跑的字节码格式。它得靠那个叫虚拟机的程序来运行。这就有点像人们常说的JAVA平台的那个虚拟机概念, 也像是.NET平台里的那个虚拟机概念。

pyc的内容,是跟的版本相关的,不同版本编译后的pyc文件是不同的。

2、pyo文件

pyo这个玩意儿, 它是经过优化编译处理以后所得到的那种程序文件。只要在使用命令的时候加一个-O这种参数, 再去指定那个源文件, 就完全可以做到把源代码给编译成pyo格式的文件, 这件事儿就是这么回事儿。

3、把单个文件编译成pyc

用如下代码

import py_compile

py_compile.compile(r'H:\game\test.py')

或者

python -m py_compile test.py

这样的话, 会在包含test.py文件的那个目录里面, 去生成一个由前后两个下划线构成的名称指定的目录。而且呢, 这个目录当中会存在一个名字叫做test.-35.pyc的文件。需要指出的是, test.py经过编译之后所生成的那个文件, 其实就是我们在这里提到的这个pyc文件。

4、把一个目录下所有源文件编译pyc

通常情况下, 我们所做的工程项目都是放置在一个固定的目录里面的, 因此, 我们基本上不会去做只编译单个py文件这种事儿, 相反地, 我们是打算把整个文件夹内部存在的所有py文件全都给编译成pyc格式的文件, 而为了达到这个目的, 系统这边又给我们额外提供了一种模块工具, 具体的使用方法可以参考接下来的描述。

import compileall

compileall.compile_dir(r'/root/src')

这个意思就是, 你也是可以去直接通过那个叫做命令行东西的方式, 来把一个目录下面所包含的那些文件给统统编译好。

python -m compileall /root/src/

就会在/root/src这个目录下生成一个新的目录, 而在这个新目录的下面, 会存放所有的和源代码对应的pyc文件。

比如说呢, 源代码那个目录具体的结构是这样的。

/root/src

|---test.py

|---test2.py

|---test3.py

编译后目录结构会变成如下:

/root/src

|---test.py

|---test2.py

|---test3.py

|---__pycache__

|----test.cpython-35.pyc

|----test2.cpython-35.pyc

|----test3.cpython-35.pyc

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询