python __pycache__ 简介

  • Post author:
  • Post category:python



目录


一、 python为什么会出现__pycache__文件夹?


二、什么时候会出现__pycache__文件?


三、如何使__pycache__文件目录不出现?


四、字节码编译


一、 python为什么会出现__pycache__文件夹?

python解释器会将

*.py

脚本文件进行编译,并且将编译结果保存到__pycache__目录中。在下次执行工程的过程中,如果发现这个

*.py

脚本文件没有被修改过,那么就会跳过编译这一步,直接执行在__pycache__中已经完成编译的

.pyc

文件。

这样做的好处是,如果需要执行比较大的工程文件,那么会节约很多时间。





二、什么时候会出现__pycache__文件?

当python工程目录下有

__main__.py

文件,和其他将要调用的模块时,如果只有当前的脚本需要运行

"__main__"

。则不会生成__pycache__文件。





三、如何使__pycache__文件目录不出现?

可以设置环境变量

PYTHONDONTWRITEBYTECODE=1
  • 1





四、字节码编译

Python这样保存字节码是作为对启动速度的一种优化,下一次运行程序时,如果你在上次保存字节码之后没有修改过代码,并且运行使用的是同一个Python编译器版本,那么Python将加载

.pyc

文件并且跳过编译这一个步骤。

Python程序是如何运行的,python先将源文件进行编译,转化为字节码,在python virtual machine PVM中完成运行。

在这里插入图片描述