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
相关推荐
lipku几秒前
LiveTalking 更新:集成 vLLM-Omni TTS服务
python·开源·数字人·vllm·实时数字人
其实防守也摸鱼4 分钟前
Claude 大模型新手入门与实战指南
人工智能·python·功能测试·ai·大模型·测评
Dust-Chasing7 分钟前
Claude Code源码剖析 - 权限系统
人工智能·python·ai
茉莉玫瑰花茶9 分钟前
综合案例 - AI 智能租房助手 [ 4 ]
数据库·python·ai·langgraph
c_lb728835 分钟前
期货量化策略从 Windows 迁到 Linux 服务器:环境注意点
linux·服务器·windows·python
北凉军40 分钟前
更换PyCharm 任务栏图标
ide·python·pycharm
yijianace1 小时前
Python爬虫实战:BooksToScrape 多线程爬取与图片下载
开发语言·爬虫·python
LadenKiller1 小时前
期货多品种轮动标的池:天勤 query_quotes 筛品种写法
python·区块链
郑洁文1 小时前
基于Python+回归分析的电子产品需求数据分析与预测
python·数据分析·回归·电子产品需求数据·电子产品数据分析
IT策士1 小时前
Redis 从入门到精通:Python 操作 Redis 进阶
数据库·redis·python