pyc是python编译器编译后的字节码

pyo是python编译器优化编译后的字节码

官方的说法是pyc和pyo在程序的执行上并没有变快,只是在加载这些模块时变快。

并且pyo会在一些情况(很少的情况下)会发生功能上的错误。

pyo会去除asset和__doc__。

其实pyc和pyo很容易被反编译,所以又好多人问为什么python没有像c/c++那样的可以编译成很难被反编译的二进制级别的文件。

接下来说说怎么编译成pyc和pyo文件。

生成pyc文件

有2中方法生成pyc文件,py_compile或者compileall

命令如下:

python -m py_compile [PYTHONFILE]

python -m compileall [PYTHONFILE]

python -m compileall [DIRECTORY]

compileall 要比 py_compile功能强大,可以编译一个文件还可以编译整个目录,包括其子目录。

另外compileall还提供下面的选项:

-l

只编译当前目录,忽略器子目录

-f

强制重新编译

-q

只打印出错误,不打印编译的文件列表

-ddestdir

编译文件的输出路径

-xregex

过滤器,用来选择什么样的文件需要被编译,regex为正则表达式

生成pyo文件

compileall是无法生成pyo文件的,只能使用py_compile。

命令如下:

python  -O -m py_compile [PYTHONFILE]

python -OO -m py_compile [PYTHONFILE]

一个O就会移除asset,2个OO就会将asset和__doc__都移除。

完。

python 编译器pyc_python编译pyc和pyo | 学步园相关推荐

  1. python 编译器pyc_python编译pyc和pyo

    pyc是python编译器编译后的字节码 pyo是python编译器优化编译后的字节码 官方的说法是pyc和pyo在程序的执行上并没有变快,只是在加载这些模块时变快. 并且pyo会在一些情况(很少的情 ...

  2. Python 常见文件格式 .py .pyc .pyw .pyo .pyd 之间的主要区别

    Python 常见文件格式 .py .pyc .pyw .pyo .pyd 之间的主要区别 Python 是一种面向对象.解释型计算机程序设计语言.Python 语法简洁.清晰,具有丰富和强大的类库. ...

  3. python编译pyc、pyo

    python3.2以后,使用python -m compileall ./命令编译当前目录及子目录的py文件为pyc时,会在每个目录生成一个__pycache__目录,然后把编译后的pyc文件放入此目 ...

  4. python的py、pyc、pyo、pyd文件区别

    py是源文件, pyc是源文件编译后的文件 pyo是源文件优化编译后的文件 pyd是其他语言写的python库 先把源码py文件编译成pyc或者pyo,然后由python的虚拟机执行,相对于py文件来 ...

  5. python文件 py、pyc、pyo、pyd文件

    py是源文件, pyc是源文件编译后的文件 pyo是源文件优化编译后的文件 pyd是其他语言写的python库 先把源码py文件编译成pyc或者pyo,然后由python的虚拟机执行,相对于py文件来 ...

  6. 【python】Python 常见文件格式 .py .pyc .pyw .pyo .pyd简介

    文章目录 概览 .py 文件 .pyw 文件 .pyo 文件 .pyd 文件 .pyd文件上手方法 概览 Python([ˈpaɪən])是一种面向对象.解释型计算机程序设计语言.Python语法简洁 ...

  7. Python 常见文件格式 .py .pyc .pyw .pyo .pyd

    转载于此 Python([ˈpaɪθən])是一种面向对象.解释型计算机程序设计语言.Python 语法简洁.清晰,具有丰富和强大的类库. Python源代码遵循 GPL (GNU General P ...

  8. mysql windows编译_Windows平台下编译Mysql源码 | 学步园

    最近由于项目的关系,需要使用到Mysql数据库,而我的工作任务与数据库有很大的关系,所以,决定好好学学Mysql,同时,也把Mysql的源码下载了,希望能有利于对它的学习.这里记录一下windows平 ...

  9. python 模拟键盘_Python 模拟键盘输入 | 学步园

    Python 模拟键盘输入,留着备用. #coding=utf-8 import win32gui,win32api,win32con import time import threading def ...

最新文章

  1. 苹果修复iPhone漏洞突显手机安全隐忧
  2. 如何阅读 Vivado中的Timing Report
  3. mySQL 教程 第16章 MySQL复制
  4. Android中Toast的用法简介
  5. Android中pendingIntent的深入理解
  6. 教程-经典Delphi教程网
  7. java重写paint方法时怎么样不覆盖文字_美团十月社招Java面试题合集,JVM+Spring+Spring,看了答案其实也不难...
  8. HTTP Content-Type类型
  9. IIS 7.0 安装SSL证书过程
  10. C#学习-程序集和反射
  11. MySQL8增量备份1008无标题_mysql增量备份
  12. Illustrator 教程,如何在 Illustrator 中添加文本段落?
  13. git学习笔记-(8-高层命令(2))
  14. 英文pdf翻译为中文(word+google浏览器即可)
  15. 需求分析——需求具备哪些特征
  16. mix3android auto,小米MIX3滑盖全面屏值不值得买?三天真实体验说说优缺点
  17. 关于Fatal NI connect error 12170
  18. Andy’s First Dictionary(安迪的第一部词典)
  19. Swingbench 博客合集
  20. 黄芪和当归的分量是5:1的比例,如黄芪30克,当归6克

热门文章

  1. Java日志-总结【这一篇够了】
  2. Qt/C++编写安防视频监控系统3-通道交换
  3. Microsoft Media foundation概述(附实例)
  4. mongoDB启动时使用配置文件
  5. (附源码)计算机毕业设计SSM基于Java的新冠疫苗预约系统
  6. 刘鹏教授荣获电子工业出版社成立四十周年“杰出贡献奖”
  7. “美少妇”受情伤朋友圈豪洒50万 男子上当受骗
  8. SecureCRT使用sftp传输文件到服务器
  9. 抖音云蹦迪源码 2022年很火的直播打赏类项目
  10. STM32中断优先级NVIC配置说明