__pycache__文件夹理解

在编写django项目中遇到__pycache__文件夹,对其进行理解记录。

先直接在stackoverflow粘一个(笑)读起来麻烦但起来省事。

“””

当您在python中运行程序时,解释器首先将其编译为字节码(这过于简化),并将其存储在__pycache__文件夹中。如果您在其中查看,则会在项目文件夹中找到一堆共享.py文件名的文件,只是它们的扩展名是.pyc或.pyo。它们分别是程序文件的字节码编译版本和优化的字节码编译版本。

作为程序员,您基本上可以忽略它……它所做的只是使您的程序启动更快。当您的脚本更改时,它们将被重新编译,并且如果您删除文件或整个文件夹并再次运行您的程序,它们将重新出现(除非您明确禁止这种行为)。

当您将代码发送给其他人时,通常的做法是删除该文件夹,但是是否执行此操作并不重要。使用版本控制(git)时,此文件夹通常列在忽略文件(.gitignore)中,因此不包括在内。

如果您使用的是cpython(这是最常见的实现,因为它是参考实现),并且您不希望使用该文件夹,则可以通过使用-B标志启动解释器来取消显示该文件夹。

1
python -B foo.py

正如tcaswell指出的,另一种选择是将环境变量设置PYTHONDONTWRITEBYTECODE为任何值(根据python的手册页,任何“非空字符串”)。

“””