平时download下来的一些python工程,执行后都会有.pyc文件产生,所以一直都以为执行.py文件后都会产生.pyc文件,今天试了把,发现不是那么一回事情,查资料并研究后发现:

1.Python的运行执行模式为:将录入的源代码转换为字节码,之后字节码在Python虚拟机中运行(代码自动被编译,然后再解释)

2.一般执行一个.py文件会通过调用py_compile的compile()方法在内存中产生字节码,在程序结束的时候内存中的字节码会被丢弃

3.如果一个.py文件作为一个模块被其他.py文件import的话,python进程会将该字节码保存为.pyc文件,目的是加快启动速度,即如果我们在上次保存字节码之后麽有修改过源代码的话,python就会直接加载.pyc文件并跳过编译这个步骤。当Python必须重新编译的时候,它会自动检查源文件和字节码文件的时间戳:如果它发现我们又修改保存过源代码的话,则程序运行时字节码将会自动重新创建

4.如果.py文件没有被其他文件import,也想生成pyc文件的话,可以通过python -m py_compile hello.py这样的方式来编译生成.pyc文件

python的两种执行模式_Python运行执行模式相关推荐

  1. python的两种循环结构_python分支和循环结构

    Python Python开发 Python语言 python分支和循环结构 1.分支结构 1.1应用场景 迄今为止,我们写的Python代码都是一条一条语句顺序执行,这种代码结构通常称之为顺序结构. ...

  2. 运行python的两种方式磁盘式_python计算机基础-Day1

    计算机基础-Day1 一.计算机基础 首先Python是一门编程语言 语言: 那什么是语言?语言就是一种事物与另一种事物沟通的介质. 所以说编程语言是程序员跟计算机沟通的介质,那么为什么要跟计算机沟通 ...

  3. python3解释器执行not 1 and 1_编程语言的分类,python解释器多版本共存.执行python的两种方式,变量,用户与程序交互...

    一.编程语言的分类? 机器语言:直接使用二进制指令编程,直接操作硬件,必须考虑硬件细节. 汇编语言:用简写的英文标识符取代二进制去编写程序,直接操作硬件,必须考虑硬件细节. 高级语言:通过人类能够理解 ...

  4. Python入门——运行python的两种方式变量常量

    一.运行python的两种方式 1. 交互式环境:输入代码立即执行,得到结果 优点:调试程序方便 缺点:无法永久保存程序 2. 命令行:python3 D:\test.txt 优点:以文件的方式将代码 ...

  5. python比较两个数的和_Python中的is和==比较两个对象的两种方法

    Python中的is和==比较两个对象的两种方法 在Python中有两种方式比较两个对象是否相等,分别是is和==,两者之间是不同的 ==比较的是值(如同java中的equals方法) is比较的是引 ...

  6. python支持的编程方式包括,python的两种编程方式是什么

    一.交互式编程 什么是交互式编程,就是在命令行中输入python 命令即可启动交互式编程,提示窗口如下: 而且还用了Python3的print方法打印出一串字符串. 二.脚本式编程 通过脚本参数调用解 ...

  7. 用ChatGPT处理word表格数据:直接采用ChatGPt和利用ChatGPT编写python脚本两种方法

    目录 摘要 0. 测试数据生成 1. 直接使用ChatGPT进行处理. 2 使用ChatGPT生成python脚本进行处理 3对比分析 4 结束语 摘要 为测试ChatGP在word文档表格的处理能力 ...

  8. python入门——Python的两种编程语言:交互式和文件式

    文章目录 一.Python的两种编程语言 1. 交互式 2. 文件式 以下内容来自于中国慕课网中<零基础学Python语言CAP>课程的学习笔记. 一.Python的两种编程语言 1. 交 ...

  9. python 收发微信之一:利用 WxPusher 的 web api 及 python SDK 两种方式给自己发微信

    目 录 摘要 实操 代码分析 需求来源与路径选择 参考 摘要 本文给出利用 WxPusher 提供的 web api 与 python SDK 两种方式,实现微信发送的 python 代码样例,并简单 ...

最新文章

  1. matlab节约里程法_芳烃产业链里程碑:唐山旭阳30万吨/年苯乙烯项目一次性开车成功...
  2. 无限极分类,子集跟着父集排列,用于后台显示菜单管理
  3. 关于logrotate工具的日志切割
  4. DecimalFormat格式化输出带小数的数字类型
  5. Font support in Adobe form
  6. 《Cocos2D权威指南》——3.9 本章小结
  7. 《Springboot极简教程》Springboot使用Kotlin和Java混合编程
  8. c语言学习-在一个三行三列的矩阵中求出数值最大的元素及其行/列下标并打印输出
  9. can是什么时候处于显性_CAN总线边沿时间标准是什么?
  10. C/C++通过WMI和系统API函数获取获取系统硬件配置信息(转)
  11. hdu4608 暴力+大数
  12. 蓝牙hci主要作用是什么_我的“我”是您的“您”:为什么为HCI精调Deixis很困难
  13. 北京大学 计算机辅助翻译专业,北京大学计算机辅助翻译专业招生介绍
  14. pytorch下可训练分段函数的写法
  15. 四级恋练有词课程 (10课时-朱伟)1.Unit1A单词识记(上)
  16. 密码加密解密(一)——摩斯密码
  17. 简练软考知识点整理-智慧城市参考模型
  18. 【产品经理三节课】第3章 需求挖掘入门
  19. MATLAB中物体夹角的检测
  20. 数字图像处理:直方图均衡(Histogram Equalization)的原理及处理介绍

热门文章

  1. chrome浏览器无法上网_浏览器无法上网
  2. 我的世界java版导入地图_网易我的世界备份与导入地图
  3. java 索引排序_Java培训MySQL之排序分组优化索引的选择
  4. session实现登录
  5. springboot配置热部署
  6. 手机抓包app_Python爬取网站上面的数据很简单,但是如何爬取APP上面的数据呢
  7. python io多路复用_python实现IO多路复用 --- selector
  8. c++ websocket客户端_阿里面经WebSocket实时通信
  9. matlab 二值化_撸了一份 ostu二值化,需要的小伙伴请拿走
  10. vue 计算屏幕的高度_学习Vue可以参考的10个开源项目——OpenSource