Python 中__pycache__文件夹

Python 中__pycache__文件夹

执行 Python 代码时,有时会生成一个名为 __pycache__ 的目录,里面包含大量后缀为 .pyc 的文件。

源代码先被编译为字节码,再由 Python 虚拟机执行字节码,过程中依赖 Python 库完成底层功能,最终形成可运行的程序。

Python 源代码编译为字节码的操作,由 Python 解释器完成,而非外部独立的编译工具。更具体地说,是 CPython 解释器内置的编译器模块。

Python 常被归类为解释型语言,但它不是 纯解释型------ 它会先把源码编译成字节码(中间码),再由虚拟机解释执行字节码。

  1. 解释器先把整个 .py 文件的源码一次性编译成字节码(不是逐行);
  2. 虚拟机再逐行执行字节码(而非源码);
  3. 同时把字节码缓存到 __pycache__,方便下次使用

之所以仍算解释型:

它没有提前生成面向硬件的机器码可执行文件;

逻辑还是 运行时由解释器(虚拟机)处理源码 / 字节码,而非 编译后直接运行机器码;

开发者无需手动执行编译步骤,和纯解释型语言的使用体验是一样的。

Python虚拟机(Python Virtual Machine,PVM) 是负责执行 Python 字节码的程序。

如果没有缓存,每次运行 Python 程序都需要:

复制代码
读取.py → 解析语法 → 编译 → 生成字节码

这样会增加启动时间。

有了 __pycache__:

复制代码
第一次运行
.py → 编译 → .pyc → 保存

第二次运行
直接加载 .pyc
相关推荐
打工仔折腾 AI26 分钟前
Changedetection.io 网页变动监控:Docker 部署、通知配置与公网暴露实践
运维·人工智能·后端·python·docker·容器·性能优化
火云代理30 分钟前
Python 使用代理 IP 前,先弄清 Requests 的配置来源与验证方法
网络·python·网络协议·tcp/ip·ip
2601_967979122 小时前
Python第七十四讲 异常处理完全精通 try-except零基础保姆级教程
python·异常处理·编程教程·错误处理·try-except
wuyk5552 小时前
Spider-第07讲-JSON接口与正则提取
爬虫·python·json
2601_967987373 小时前
Sqlite参考手册
数据库·python·sqlite·api·教程
用户019027581614 小时前
A 股到价提醒机器人:AlphaFeed + 飞书/钉钉 Webhook
python
特立独行的猫A4 小时前
Ionic + 仓颉语言的 cj-tauri 开发框架实战:开发精美移动端 APP
java·后端·python
高洁014 小时前
数据同化与动态状态估计:让孪生持续贴合现实
人工智能·python·深度学习·transformer·迁移学习
通信仿真爱好者5 小时前
第【139】期--基于深度学习的OFDM信道估计方法研究--python完整代码
python·深度学习·ofdm·信道估计
威哥爱编程5 小时前
模拟面试智能体开发实战 07:答完一题就点评一题,结构化输出给分建议,让每道题都变成复盘
python·agent·harmonyos