关于运行python脚本产生__pycache__

是什么?python

用python编写好一个工程,在第一次运行后,总会发现工程根目录下生成了一个__pycache__文件夹,里面是和py文件同名的各类 *.pyc 或者 *.pyo 文件。spa

python脚本编译后产生的.pyc文件放到__pycache__中,下次运行时检测到代码没有改变,则直接运行__pycache__中的pyc文件..net

 

 如何避免生成?code

单次: 运行脚本时添加 -B 参数blog

python -B foo.py内存

永久: 设置环境变量 PYTHONDONTWRITEBYTECODE=1源码

 

python运行机制编译

不须要生成二进制代码,python解释器把源码->字节码,而后在执行这些字节码.class

解释器的具体工做:变量

1.完成模块(module)的加载和连接

2.将源代码编译成pyCodeObject(字节码),写入内存中,供CPU读取

3.从内存中读取并执行,结束后将pyCodeObject写回到硬盘中,即复制到.pyc或.pyo文件中.

4.再次执行该脚本时,检查是否有"字节码文件"以及"字节码文件是否和脚本一致".若是一致则直接执行,不然重复上述步骤.

 

参考文章:

https://blog.csdn.net/index20001/article/details/73501375/

相关文章
相关标签/搜索