据我了解,缓存是类似文件的加密文件。
我们如何处理 __pycache__
文件夹?是我们提供给人们的东西而不是我们的源代码吗?它只是我的输入数据吗?这个文件夹不断被创建,它是做什么用的?
最佳答案
当您在 Python 中运行程序时,解释器首先将其编译为字节码(这是过于简单化了)并将其存储在 __pycache__
文件夹中。如果您在那里查看,您会发现一堆文件共享您项目文件夹中的 .py
文件的名称,只有它们的扩展名将是 .pyc
或 .pyo
。这些分别是程序文件的字节码编译版本和优化字节码编译版本。
作为程序员,您基本上可以忽略它...它所做的只是让您的程序启动得更快一点。当您的脚本更改时,它们将被重新编译,如果您删除文件或整个文件夹并再次运行您的程序,它们将重新出现(除非您特别禁止该行为)。
当您将代码发送给其他人时,通常的做法是删除该文件夹,但您是否这样做并不重要。当您使用版本控制 (git
) 时,此文件夹通常列在忽略文件 (.gitignore
) 中,因此不包括在内。
如果您使用的是 CPython(这是最常见的,因为它是引用实现)并且您不想要该文件夹,那么您可以通过使用 -B 标志启动解释器来禁止它,例如
python -B foo.py
另一个选项,如 tcaswell 所述,是将环境变量 PYTHONDONTWRITEBYTECODE
设置为任何值(根据 Python 的手册页,任何“非空字符串”)。
关于python - 什么是__pycache__?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16869024/