0%

Python __pycache__ 目录详解

__pycache__ 是Python运行时自动生成的目录,用于存放编译后的字节码文件(.pyc/.pyo)。当首次执行.py文件时,Python会将源码编译为字节码(介于源码和机器码之间的中间代码),并将其缓存到__pycache__中,命名格式为模块名.版本信息.pyc(如test.cpython-310.pyc)。

核心作用是提升代码重复执行效率:后续运行时,Python会优先读取缓存的字节码,无需重新编译源码,尤其对大型项目或频繁调用的模块,能显著缩短启动时间。该目录由Python自动管理——修改源码后,Python会对比源码和字节码的时间戳,自动重新编译并更新缓存;删除目录也不影响代码运行,下次执行时会重新生成。

__pycache__属于临时缓存,无需手动维护,通常会加入.gitignore避免提交到版本库;也可通过python -B 脚本名或设置PYTHONDONTWRITEBYTECODE环境变量,禁止生成该目录。它仅存于模块所在目录,不同Python版本生成的字节码不兼容,因此目录内会按版本区分文件。

总结

  1. __pycache__是Python自动生成的字节码缓存目录,用于提升代码执行效率;
  2. 无需手动维护,可通过参数/环境变量禁止生成,建议加入版本库忽略列表;
  3. 字节码按Python版本区分,修改源码会自动更新缓存。