`
crazier9527
  • 浏览: 994998 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

python pyc pyo

阅读更多

python并非完全是解释性语言,它是有编译的,先把源码py文件编译成pyc或者pyo,然后由python的虚拟机执行,相对于py文件来说,编译成pyc和pyo本质上和py没有太大区别,只是对于这个模块的加载速度提高了,并没有提高代码的执行速度,通常情况下不用主动去编译pyc文件,文档上说只要调用了import model那么model.py就会先编译成pyc然后加载

1.如果需要特殊的单独编译,则只需要使用py_complie这个模块就行了,如下

import py_compile
py_compile.compile(r'H:\game\test.py')
 
compile函数原型:
compile(file[, cfile[, dfile[, doraise]]])
file 表示需要编译的py文件的路径
cfile 表示编译后的pyc文件名称和路径,默认为直接在file文件名后加c 或者 o,o表示优化的字节码
dfile 错误消息保存的路径
doraise 可以是两个值,True或者False,如果为True,则会引发一个PyCompileError,否则如果编译文件出错,则会有一个错误,默认显示sys.stderr中,而不会引发异常

2.如果要把一个文件夹下的所有py文件都进行编译,则用下面的命令
import compileall
compileall.compile_dir(dirpath)
dirpath是我们要编译的文件夹的绝对路径

3.如果要编译pyo文件则
编译成 pyo 就是在控制台执行 python -O -m py_compile file.py
其中file.py就是我们要编译的源文件

个人感觉这个原理知道就行了,其实没多大用处,仅仅提高了加载速度而已,另外还有一点好处就是可以减少文件的大小,可能对于嵌入式系统中把需要的模块都编译成pyo文件可减少容量,毕竟嵌入式系统多数都是容量有限,现在的pc硬件越来越强,仅仅提高加载速度没多大作用,不过这也是python的机理,它就是这么干活的,知道就好,呵呵
分享到:
评论

相关推荐

    python 文件编译

    python 编译。py文件编译为pyc pyo等方法。值得学习。

    超好用的python批量反编译软件

    很好用的python反编译软件,亲测python2.7反编译成功。 支持批量反编译,美中不足的是不支持嵌套文件夹中的反编译。

    pyc反编译.rar

    这是个windows版的工具,可以反编译单个pyc,pyo 文件,或者选定反编译一个指定文件夹下面的pyc,pyo 文件, 确实很好用.

    main.cpython-36.opt-1.pyc

    文件通文件加解密工具2.0版(转载请先向作者申请),使用了新一代加密算法,更加安全,支持大部分文件...新版本为了保护源代码发布的是pyo格式文件,请使用命令python source.cpython-36.opt-1.pyc运行程序!欢迎下载!

    Python基础学习-1-廖雪峰课程.pdf

    常⽤的程序⽂件的后缀 常⽤的程序⽂件的后缀 .py Python语⾔ .pyc Python字节码⽂件 c:code-byte .pyo Python优化⽂件 o:optimizing 3.变量: 变量: 变量是关联⼀个对象的符号(标识符/名字) 4.核⼼数据类型和...

    python属于解释语言吗

    python并非完全是解释性语言,它是有编译的,先把源码py文件编译成pyc或者pyo,然后由python的虚拟机执行,相对于py文件来说,编译成pyc和pyo本质上和py没有太大区别,只是对于这个模块的加载速度提高了,并没有...

    python3.6.5参考手册 chm

    PEP 488: Elimination of PYO files PEP 489: Multi-phase extension module initialization Other Language Changes New Modules typing zipapp Improved Modules argparse asyncio bz2 cgi cmath code ...

    win10 下pycharm+anaconda 编译生成pyd文件

    由于生产部署的问题,需要把用python写的深度学习....pyc Python源代码import后,编译生成的字节码 .pyo Python源代码编译优化生成的字节码。pyo比pyc并没有优化多少,只是去掉了断言 .pyd Python的动态链接库(Window

    Easy Python Decompiler

    Easy Python Decompiler,版本为1.3.2,简易Python逆向,在windows中运行。可以逆向pyc,pyo 文件,下载解压后可以直接运行即可。 软件安装教程博客:https://blog.csdn.net/m0_59188912/article/details/127215980

    Python-维基百科,自由的百科.pdf

    3.6.8rc1 / 2018年12⽉11⽇ 、、 .py、.pyw、.pyc、.pyo、.pyd、.pyz ⽹站 ⽹站 主要实现产品 主要实现产品 、、、 派⽣副语⾔ 派⽣副语⾔ 、、 启发语⾔ 启发语⾔ 、、、、、、、、、、 影响语⾔ 影响语⾔ 、、、、...

    uncompyle2-master

    python 反编译工具,在Linux环境上亲测可用。 ... 执行结果:生成alp.pyo python -O -m py_compile alp.py  注:如果不带选项-O则生成的是pyc文件,-O选项则可以在生成代码时进行一定的优化。

    python程序文件扩展名知识点详解

    python程序的扩展名有.py、.pyc、.pyo和.pyd。.py是源文件,.pyc是源文件编译后的文件,.pyo是源文件优化编译后的文件,.pyd是其他语言写的python库。 扩展名 在写Python程序时我们常见的扩展名是py, pyc,其实还有...

    exe反编译py

    为了防止代码泄露就考虑不采用直接给源码方式,而python二进制脚本pyc和pyo,虽然提供的不是源码,但可以通过uncompyle2直接得到源码,所以现在用类似py2exe软件将py文件打包成exe,用此脚本可以将exe反编译为py脚本

    成为专家python:包含教程,课程,练习的库,非常适合学习Python

    .pyc .pyo 。蛋 最佳实践 字串 很棒的Python 数据工程 人工智慧 资料库 安全 运作方式 开发运维 云 Python 管理图书馆 网页 杂 服务 ** Curso emVídeo:决议练习** -用葡萄牙语学习Python! -解决课堂笔记和...

    uncompyle2安装包

    Python 2.7的反编译工具,它可以把python生成的pyo、pyc字节码文件反编译为十分完美的源码,并可以将反编译后的源码再次生成字节码文件!

    手动实现把python项目发布为exe可执行程序过程分享

    1. 手动制作python的exe可执行程序Python没有内建一个编译为exe的功能。给python程序的部署带来不少的麻烦。所以就会出现一些py2exe之类... 2) python从2.3开始,支持从zip文件中import库(支持.py,.pyc和.pyo,但不支

    深入Python解释器理解Python中的字节码

    根据操作系统的不同,这一步生成后缀名是pyc或者pyo的二进制文件。 解释器读取二进制文件,并依次执行指令(opcodes)。 Python解释器是基于栈的。要理解数据流向,我们需要知道每条指令的栈效应(如,操作码和参数...

    uncompyle2

    Python 2.7的反编译工具,它可以把python生成的pyo、pyc字节码文件反编译为十分完美的源码,并可以将反编译后的源码再次生成字节码文件!

Global site tag (gtag.js) - Google Analytics