python __pycache__的认识
Catalogue
一、 python为什么会出现__pycache__文件夹?
python解释器会将*.py
脚本文件进行编译,并且将编译结果保存到__pycache__目录中。在下次执行工程的过程中,如果发现这个*.py
脚本文件没有被修改过,那么就会跳过编译这一步,直接执行在__pycache__中已经完成编译的.pyc
文件。
这样做的好处是,如果需要执行比较大的工程文件,那么会节约很多时间。
二、什么时候会出现__pycache__文件?
当python工程目录下有__main__.py
文件,和其他将要调用的模块时,如果只有当前的脚本需要运行"__main__"
。则不会生成__pycache__文件。
三、如何使__pycache__文件目录不出现?
可以设置环境变量
PYTHONDONTWRITEBYTECODE=1
四、字节码编译
Python这样保存字节码是作为对启动速度的一种优化,下一次运行程序时,如果你在上次保存字节码之后没有修改过代码,并且运行使用的是同一个Python编译器版本,那么Python将加载.pyc
文件并且跳过编译这一个步骤。
Python程序是如何运行的,python先将源文件进行编译,转化为字节码,在python virtual machine PVM中完成运行。