python 运行pyc_python项目运行后产生__pycache__包含pyc格式文件
一、
python项目第一次运行,根目录下会生成一个__pycache__文件夹,里面的文件名和Python项目中的*.py文件名称相同,只是扩展名称不同为 *.pyc 或者 *.pyo
*.pyc文件中其实存的是*.py文件执行后的字节码(PyCodeObject对象),那么字节码到底是什么?了解完Python运行机制就明白了。
Python程序运行时不需要编译成二进制代码,而直接从源码运行程序,简单来说是,Python解释器将源码转换为字节码,然后再由解释器来执行这些字节码。
解释器的具体工作:
1 完成模块的加载和链接;
2 将源代码编译为PyCodeObject对象(即字节码),写入内存中,供CPU读取;
3 从内存中读取并执行,结束后将PyCodeObject写回硬盘当中,也就是复制到.pyc或.pyo文件中,以保存当前目录下所有脚本的字节码文件;
* 之后若再次执行该脚本,它先检查【本地是否有上述字节码文件】和【该字节码文件的修改时间是否与其脚本一致】。是就直接执行,否则重复上述步骤。
项目目录下有__main__.py文件,以及__main__.py文件中调用的其他模块文件中,生成__pycache__文件夹。如果只有当前运行的脚本文件,则不会生成 __pycache__
三、__pycache__存在的意义
这样工程较大时就可以大大缩短项目运行前的准备时间,Python下次执行时,若解释器发现这个 *.py 脚本没有修改过,就会跳过编译这一步,直接运行以前生成的保存在 __pycache__文件夹里的 *.pyc 文件。
python 运行pyc_python项目运行后产生__pycache__包含pyc格式文件相关推荐
- python和wps-基于python的docx模块处理word和WPS的docx格式文件方式
Python docx module for Word or WPS processing 本文是通过docx把word中的表格中的某些已填好的内容提取出来,存入excel表格. 首先安装docx的p ...
- Python对csv、ini、xml、excel等格式文件操作用例
Python文件操作相关 文件操作 文件夹和路径 csv格式文件 ini格式文件 xml格式文件 excel文件 1. 文件操作 在学习文件操作之前,先来回顾一下编码的相关以及先关数据类型的知识. 字 ...
- 把python tkinter canvas中的图形图像保存为通用格式文件的5种方法
在计算机上画图未完成,需要保存未完成图形以便以后继续,或者完成画图,要保存为通用格式文件,方便浏览.如使用python tkinter Canvas画图,其好像没有将图像保存通用格式文件的方法,但可以 ...
- Python实现在当前目录新建目录img, 里面包含100个文件, 100个文件名 各不相同(X4G5.png)
题目要求: 1. 在当前目录新建目录img, 里面包含100个文件, 100个文件名 各不相同(X4G5.png) 2. 将当前img目录所有以.png结尾的后缀名改为.jpg. 代码块: impor ...
- 利用python的docx模块处理word和WPS的docx格式文件
Python docx module for Word or WPS processing 本文是通过docx把word中的表格中的某些已填好的内容提取出来,存入excel表格. 首先安装docx的p ...
- 若依Vue入门——项目运行篇
文章目录 相关地址 开发环境 什么是脚手架 **运行过程** 01.Git检出/下载Ruoyi Git检出 下载压缩包 02. 目录结构 03.项目运行过程 后端 (1)导入数据库 (2) 修改配置文 ...
- linux运行wordcount,hadoop运行第一个实例wordcount
引语: 这几周事情比较多,两周没写博客了,这周总算把hadoop的实例给运行起来,然后跑了一下官方的wordcount例子(用于统计文件中单词出现的次数). 接下来是我成功运行实例的记录.运行的前提是 ...
- python创建csv文件并写入-Python数据写入csv格式文件
(只是传递,基础知识也是根基) Python读取数据,并存入Excel打开的CSV格式文件内! 这里需要用到bs4,csv,codecs,os模块. 废话不多说,直接写代码!该重要的内容都已经注释了, ...
- Python数据写入csv格式文件
(只是传递,基础知识也是根基) Python读取数据,并存入Excel打开的CSV格式文件内! 这里需要用到bs4,csv,codecs,os模块. 废话不多说,直接写代码!该重要的内容都已经注释了, ...
最新文章
- 端口01 - 零基础入门学习汇编语言67
- iOS中的UIView
- 机器学习中的数学(4)-线性判别分析(LDA), 主成分分析(PCA)
- 《大话数据结构》简体中文版勘误
- eclipse和jdk的版本问题,比如printf()出错
- mysql 循环体 如何测试_mysql里如何循环插入数据,进行测试
- CURL不能访问 但浏览器可以访问
- protocol buffer安装及使用(非常详细)
- JMX实现远程服务器Tomcat系统监控之一
- 网络安全审计系统产品竞品分析
- Gitlab:从其它项目组里导入一个项目
- 好用的pdf阅读器(便携)
- python国际象棋的价值_python – 国际象棋negamax功能
- 文本摘要(text summarization)任务:研究范式,重要模型,评估指标(持续更新ing...)
- Sublime 复制当前行快捷键及删除当前行快捷键、跳到最后一行、选中一行快捷键
- Linux远程访问的方法
- 贝叶斯在计算机视觉中的应用,KNN与朴素贝叶斯在计算机视觉的鱼苗计数中的应用探索.doc...
- Simulated Binary Crossover(SBX)的学习
- 用户 '****' 登录失败
- 【我的新书】分布式微服务架构:原理与实战