一、

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格式文件相关推荐

  1. python和wps-基于python的docx模块处理word和WPS的docx格式文件方式

    Python docx module for Word or WPS processing 本文是通过docx把word中的表格中的某些已填好的内容提取出来,存入excel表格. 首先安装docx的p ...

  2. Python对csv、ini、xml、excel等格式文件操作用例

    Python文件操作相关 文件操作 文件夹和路径 csv格式文件 ini格式文件 xml格式文件 excel文件 1. 文件操作 在学习文件操作之前,先来回顾一下编码的相关以及先关数据类型的知识. 字 ...

  3. 把python tkinter canvas中的图形图像保存为通用格式文件的5种方法

    在计算机上画图未完成,需要保存未完成图形以便以后继续,或者完成画图,要保存为通用格式文件,方便浏览.如使用python tkinter Canvas画图,其好像没有将图像保存通用格式文件的方法,但可以 ...

  4. Python实现在当前目录新建目录img, 里面包含100个文件, 100个文件名 各不相同(X4G5.png)

    题目要求: 1. 在当前目录新建目录img, 里面包含100个文件, 100个文件名 各不相同(X4G5.png) 2. 将当前img目录所有以.png结尾的后缀名改为.jpg. 代码块: impor ...

  5. 利用python的docx模块处理word和WPS的docx格式文件

    Python docx module for Word or WPS processing 本文是通过docx把word中的表格中的某些已填好的内容提取出来,存入excel表格. 首先安装docx的p ...

  6. 若依Vue入门——项目运行篇

    文章目录 相关地址 开发环境 什么是脚手架 **运行过程** 01.Git检出/下载Ruoyi Git检出 下载压缩包 02. 目录结构 03.项目运行过程 后端 (1)导入数据库 (2) 修改配置文 ...

  7. linux运行wordcount,hadoop运行第一个实例wordcount

    引语: 这几周事情比较多,两周没写博客了,这周总算把hadoop的实例给运行起来,然后跑了一下官方的wordcount例子(用于统计文件中单词出现的次数). 接下来是我成功运行实例的记录.运行的前提是 ...

  8. python创建csv文件并写入-Python数据写入csv格式文件

    (只是传递,基础知识也是根基) Python读取数据,并存入Excel打开的CSV格式文件内! 这里需要用到bs4,csv,codecs,os模块. 废话不多说,直接写代码!该重要的内容都已经注释了, ...

  9. Python数据写入csv格式文件

    (只是传递,基础知识也是根基) Python读取数据,并存入Excel打开的CSV格式文件内! 这里需要用到bs4,csv,codecs,os模块. 废话不多说,直接写代码!该重要的内容都已经注释了, ...

最新文章

  1. 端口01 - 零基础入门学习汇编语言67
  2. iOS中的UIView
  3. 机器学习中的数学(4)-线性判别分析(LDA), 主成分分析(PCA)
  4. 《大话数据结构》简体中文版勘误
  5. eclipse和jdk的版本问题,比如printf()出错
  6. mysql 循环体 如何测试_mysql里如何循环插入数据,进行测试
  7. CURL不能访问 但浏览器可以访问
  8. protocol buffer安装及使用(非常详细)
  9. JMX实现远程服务器Tomcat系统监控之一
  10. 网络安全审计系统产品竞品分析
  11. Gitlab:从其它项目组里导入一个项目
  12. 好用的pdf阅读器(便携)
  13. python国际象棋的价值_python – 国际象棋negamax功能
  14. 文本摘要(text summarization)任务:研究范式,重要模型,评估指标(持续更新ing...)
  15. Sublime 复制当前行快捷键及删除当前行快捷键、跳到最后一行、选中一行快捷键
  16. Linux远程访问的方法
  17. 贝叶斯在计算机视觉中的应用,KNN与朴素贝叶斯在计算机视觉的鱼苗计数中的应用探索.doc...
  18. Simulated Binary Crossover(SBX)的学习
  19. 用户 '****' 登录失败
  20. 【我的新书】分布式微服务架构:原理与实战

热门文章

  1. p4363 [九省联考2018]一双木棋chess
  2. Spring boot + Redis
  3. swift3.0:NSURLSession的使用
  4. qt 使用非系统字库
  5. sphinx配置文件继承
  6. 用什么方法才能测量出无线发射模块的功率呢?
  7. 删除Win7隐藏的系统分区
  8. jQuery中find()方法和filter()方法的区别
  9. linux shell 文件路径 分解 解析 切分 ${str:a:b} 用法
  10. mysql 一条sql update多条记录