Python中__pycache__文件夹是如何生成并发挥其功能的详细解析?
- 内容介绍
- 文章标签
- 相关推荐
本文共计507个文字,预计阅读时间需要3分钟。
前言:使用Python编写了一个工程,但在第一次运行后,发现工程根目录下生成了一个__pycache__文件夹,其中包含与py文件同名的各种以.cpython-37.pyc结尾的文件。cpython-37各项意义:
- cpython:代表Python解释器的一个具体实现,即CPython。- -37:表示这个pyc文件是使用CPython 3.7版本的解释器编译生成的。- .pyc:这是Python编译后的文件格式,用于存储已编译的Python字节码。
前言:
用python编写了一个工程,但在第一次运行后,发现工程根目录下生成了一个__pycache__文件夹,里面是和py文件同名的各种以.cpython-37.pyc结尾的文件。
cpython-37各项意义:
cpython代表的是c语言实现的Python解释器,-37代表的是python 3.7版本。
至于pyc,需要先了解一下模块的调用。
Python程序运行时不需要编译成二进制代码,而直接从源码运行程序。简单来说是,Python解释器将源码转换为字节码,然后再由解释器来执行这些字节码。
解释器的具体工作:
1、完成模块的加载和链接;
2、将源代码全部编译为PyCodeObject对象(即字节码),写入内存中,供CPU读取;
3、从内存中读取并执行,结束后将PyCodeObject写回硬盘当中,也就是复制到.pyc或.pyo文件中,以保存当前目录下所有脚本的字节码文件。
4、之后若再次执行该脚本,它先检查和,是就直接执行,否则重复上述步骤。
本文共计507个文字,预计阅读时间需要3分钟。
前言:使用Python编写了一个工程,但在第一次运行后,发现工程根目录下生成了一个__pycache__文件夹,其中包含与py文件同名的各种以.cpython-37.pyc结尾的文件。cpython-37各项意义:
- cpython:代表Python解释器的一个具体实现,即CPython。- -37:表示这个pyc文件是使用CPython 3.7版本的解释器编译生成的。- .pyc:这是Python编译后的文件格式,用于存储已编译的Python字节码。
前言:
用python编写了一个工程,但在第一次运行后,发现工程根目录下生成了一个__pycache__文件夹,里面是和py文件同名的各种以.cpython-37.pyc结尾的文件。
cpython-37各项意义:
cpython代表的是c语言实现的Python解释器,-37代表的是python 3.7版本。
至于pyc,需要先了解一下模块的调用。
Python程序运行时不需要编译成二进制代码,而直接从源码运行程序。简单来说是,Python解释器将源码转换为字节码,然后再由解释器来执行这些字节码。
解释器的具体工作:
1、完成模块的加载和链接;
2、将源代码全部编译为PyCodeObject对象(即字节码),写入内存中,供CPU读取;
3、从内存中读取并执行,结束后将PyCodeObject写回硬盘当中,也就是复制到.pyc或.pyo文件中,以保存当前目录下所有脚本的字节码文件。
4、之后若再次执行该脚本,它先检查和,是就直接执行,否则重复上述步骤。

