python (2) 之 pyc】的更多相关文章

Python2.7 版中,只要執行 .py 的檔案後,即會馬上產生一個 .pyc 的檔案,而在 Python3 版中,執行 .py 的檔案後,即會產生一個叫 __pycache__ 的目錄,裡面也會有一個 .pyc 的檔案,就拿剛剛之前的 sys_login.py 來說,當我用 Python3 執行時,就會有一個 __pycache__ 的目錄,裡面就會產生一個檔案叫 sys_login.cpython-35.pyc. 那這個檔案有什麼作用呢? Python 是一門解釋型程式語言? 有人說,Py…
Python是一种面向对象.解释型计算机程序设计语言.Python 语法简洁.清晰,具有丰富和强大的类库.Python源代码遵循 GPL (GNU General Public License) 协议,由 Guido van Rossum 于 1989 年底发明,第一个公开发行版发行于 1991 年.Python 常被称为胶水语言,能把用其他语言编写的各模块 (尤其是 C/C++) 轻松地联结在一起.常见情形是,用 Python 快速生成程序原型 (有时甚至是程序最终界面),然后对其中有特别要求…
一.解释型语言和编译型语言 解释性语言:在程序执行之前,先会通过编译器对程序执行一个编译的过程,把程序转变成机器语言.运行时就不需要翻译,而直接执行就可以了.最典型的例子就是C语言. 编译型语言:没有这个编译的过程,而是在程序运行的时候,通过解释器对程序逐行作出解释,然后直接运行,最典型的例子是Ruby. 总结:因为编译型语言在程序运行之前就已经对程序做出了"翻译",所以在运行时就少掉了"翻译"的过程,所以效率比较高.但是我们也不能一概而论,一些解释性语言也可以通过…
如果 Python 进程在机器上拥有写入权限,那么它将把程序的字节码保存为一个以 .pyc 为扩展名的文件( ".pyc" 就是编译过的 ".py" 源代码).当程序运行之后,你会在那些源代码的附近(也就是说同一个目录下)看到这些文件Python这样保存字节码是作为一种启动速度的优化.下一次运行程序时,如果你在上次保存字节码之后没有修改过源代码的话,Python将会加载.pyc文件并跳过编译这个步骤.当Python必须重编译时,它会自动检查源文件和字节码文件的时间戳…
py是源文件,pyc是源文件编译后的文件,pyo是源文件优化编译后的文件,pyd是其他语言写的python库 1. Python是一门解释型语言? Python是一门解释性语言,我就这样一直相信下去,直到发现了*.pyc文件的存在. 如果是解释型语言,那么生成的*.pyc文件是什么呢?c应该是compiled的缩写才对啊! 为了防止其他学习Python的人也被这句话误解,那么我们就在文中来澄清下这个问题,并且把一些基础概念给理清.        python并非完全是解释性语言,它是有编译的,先…
pyc:二进制文件,python文件经过编译器编译之后的文件.可以提高文件加载速度. pyo:二进制文件,优化编译后的文件.可以通过`python -O file.py`生成. pyd:python的动态链接库.…
最近在编写Python脚本过程中遇到一个问题比较奇怪:Python脚本正常的,但执行报错"AttributeError: 'module' object has no attribute 'xxx'",其实是.pyc文件存在问题. 问题定位:查看import库的源文件,发现源文件存在且没有错误,同时存在源文件的.pyc文件 问题解决方法:删除该库的.pyc文件,重新运行代码:或者找一个可以运行代码的环境,拷贝替换当前机器的.pyc文件即可 示例: 如下Python代码,执行时报错&qu…
一.命令生成 pyc 文件 *.py:源码文件,由 Python 程序解释. *.pyc:源码经编译后生成的二进制字节码(Bytecode)文件. *.pyo:优化编译后的程序,也是二进制字节码文件. 虚拟机怎么执行py脚本: 完成模块的加载和链接: 将源代码翻译为PyCodeObject对象(这就是字节码),并将其写入内存当中(方便CPU读取,起到加速程序运行的作用): 从上述内存空间中读取指令并执行: 程序结束后,根据命令行调用情况(即运行程序的方式)决定是否将PyCodeObject写回硬…
1. Python是一门解释型语言吗? 我初学Python时,听到的关于Python的第一句话就是,Python是一门解释性语言,我就这样一直相信下去,直到发现了*.pyc文件的存在.如果是解释型语言,那么生成的*.pyc文件是什么呢?c应该是compiled的缩写才对啊! 为了防止其他学习Python的人也被这句话误解,那么我们就在文中来澄清下这个问题,并且把一些基础概念给理清.   2. 解释型语言和编译型语言 计算机是不能够识别高级语言的,所以当我们运行一个高级语言程序的时候,就需要一个“…
Python 程序扩展名(py, pyc, pyw, pyo, pyd)及发布程序时的选择 - 司开星的专栏 - CSDN博客 https://blog.csdn.net/chroming/article/details/52083387 Python 程序扩展名(py, pyc, pyw, pyo, pyd)及发布程序时的选择 2016年08月01日 10:18:27 司开星 阅读数:15943 标签: pythonpyw 更多 个人分类: Python开发基础知识   版权声明:本文为博主原…
上一节:Python之code对象与pyc文件(二) 向pyc写入字符串 在了解Python如何将字符串写入到pyc文件的机制之前,我们先来了解一下结构体WFILE: marshal.c typedef struct { FILE *fp; int error; int depth; /* If fp == NULL, the following are valid: */ PyObject *str; char *ptr; char *end; PyObject *strings; /* di…
上一节:Python之code对象与pyc文件(一) 创建pyc文件的具体过程 前面我们提到,Python在通过import或from xxx import xxx时会对module进行动态加载,如果没有找到相应的pyc或dll文件,就会在py文件的基础上创建pyc文件,之前说过,pyc文件中保存的是PyCodeObject对象,那么我们就要搞清楚,PyCodeObject是如何写入到pyc文件中的 import.c static void write_compiled_module(PyCod…
Python程序的执行过程 我们都知道,C语言在执行之前需要将源代码编译成可执行的二进制文件,也就是将源代码翻译成机器代码,这种二进制文件一旦生成,即可用于执行.但是,Python是否一样呢?或许很多人都听过,Python和Java都是半编译半解释的语言,那么问题来了,什么又是半编译半解释呢?这还要从C语言开始说起 比方我们现在有一段C语言写成的程序,我们在一台Linux服务器上编译好了,生成可执行的二进制文件,可是我现在想要在一台Windows的机器上执行这个文件,这是不可能的,原因是因为不同…
D:\mypython\path\ C:\Python27\Scripts\pyinstaller.exe -w mypython.py # Python打包成exe D:\mypython\path\python -m compileall mypython.py # Python编译成pyc…
8.0 序 我们日常会写各种各样的python脚本,在运行的时候只需要输入python xxx.py程序就执行了.那么问题就来了,一个py文件是如何被python变成一系列的机器指令并执行的呢? 8.1 python程序的执行过程 python的执行原理可以用两个词来囊括:虚拟机.字节码 首先在python中有一个非常关键的东西,这个东西被称为解释器(interpreter),当我们在命令行中输入python时,就是为了激活这个解释器.当然如果后面还跟上了py文件,那么解释器会立刻被激活,然后执…
https://my.oschina.net/renwofei423/blog/17404 1.      PyCodeObject与Pyc文件 通常认为,Python是一种解释性的语言,但是这种说法是不正确的,实际上,Python在执行时,首先会将.py文件中的源代码编译成Python的byte code(字节码),然后再由Python Virtual Machine来执行这些编译好的byte code.这种机制的基本思想跟Java,.NET是一致的.然而,Python Virtual Mac…
1.什么是Python的.pyc文件 在python中 .pyc文件是指以.pyc为后缀名的这一类文件,在我们的python的安装目录里,找到模块所在的目录Lib会看到很多以.py结尾的模块文件,与之对应的就会找到.pyc结尾的文件,那么这些文件是怎么产生的呢? 众所周知,由于我们的计算机只认识二进制的机器语言,所以在执行Python模块的时候需要把模块编译成计算机能够识别的二进制语言才可以执行. 对于python文件这种编译方式主要以下两种: <1>.先将模块里面的内容编译成二进制语言,然后…
Python 代码执行流程: 编译 --> 执行 源代码  -->  字节码  -->  机器码  --> CPU执行 python 先将自己的源代码,编译成Python 字节码,不同语言的字节码,只有对应的编译器可以识别,运行时再将字节码转换成机器码在执行,经过了现两个转换的步骤,所以比 C 语言要慢一个量级. Python 的几种实现: python 作为一种编程语言,它有多种实现.这里的实现指的是符合Python语言规范的Python解释程序以及标准库等.这些实现虽然实现的是…
Python 3.0在2008年12月3日正式发布,在之后又经历了多个小版本(3.1,3.2,3.3……),本文梳理Python 3.0之后的新特性. 其实每个版本都有大量更新,都写出来要几百页,这里只写主要的更新,以及我个人认为重要的. 因此难免有失偏颇,望见谅,可以点击小标题查看每个版本的完整What's New. 本文会持续更新下去. Python 3.1   2009年6月27日发布 ▲用C语言实现io模块.在3.0,io模块是用Python语言实现的,性能很慢,现在比3.0快了2~20…
一.模块介绍 定义: 模块--用来从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能),本质就是.py结尾的python文件(文件名test.py,模块名test) 包—用来从逻辑上组织模块的,本质就是一个目录(必须带有一个__init__文件)   导入方法(模块.包): import module_name #同级目录,引入模块中的变量\方法等,module_alex.name  module_alex.logger import module_name,module2_nam…
本节开始学习模块的相关知识,主要包括模块的编译,模块的搜索路径.包等知识 1.模块 如果我们直接在解释器中编写python,当我们关掉解释器后,再进去.我们之前编写的代码都丢失了.因此,我们需要将我们编写的代码保存在文件中,这样我们就可以以脚本的形式多次运行它. 每一个包含Python语句并且扩展名为.py的文件就是一个模块,模块的名字就是文件名的名字(不包含扩展名).例如,我们创建一个文件:addab.py ,文件中的代码如下: def testAdd(a,b): print a+b #打印a…
sys 模块提供了许多函数和变量来处理 Python 运行时环境的不同部分. 处理命令行参数 在解释器启动后, argv 列表包含了传递给脚本的所有参数, 列表的第一个元素为脚本自身的名称. 使用sys模块获得脚本的参数 复制代码代码如下: print "script name is", sys.argv[0]        # 使用sys.argv[0]采集脚本名称 if len(sys.argv) > 1:    print "there are", le…
希望通过博客园持续的更新,分享和记录Python基础知识到高级应用的点点滴滴! 第十波:第10章  充电时刻 Python语言的核心非常强大,同时还提供了更多值得一试的工具.Python的标准安装包括一组模块,称为标准库standard library.展示这些模块的工作方式,讨论如何分析它们,学习它们所提供的功能. [10.1] 模块 已经知道如何创建和执行自己的程序,也学会了怎么用import从外部模块获取函数并且为自己的程序使用.接下来看看怎么编写自己的模块. [10.1.1] 模块是程序…
一.简介 py2exe是一个将python脚本转换成windows上的可独立执行的可执行程序(*.exe)的工具,这样,你就可以不用装python而在windows系统上运行这个可执行程序. py2exe已经被用于创建wxPython,Tkinter,Pmw,PyGTK,pygame,win32com client和server,和其它的独立程序.py2exe是发布在开源许可证下的. 二.安装py2exe 从 http://prdownloads.sourceforge.net/py2exe下载…
一:变量 变量的赋值: name = "Meng" 上述代码声明了一个变量,变量名为name,变量name的值为:"Meng" 变量定义: 一个在内存存数据的容器. 变量的意义: 保存程序执行的中间结果或状态,以供后面的代码调用. 变量定义规则: 变量名只能是字母,数字或下划线的任意组合: 变量名的第一个字符不能是数字: 关键字不能声明为变量名: 二:缩进: Python设计者有意设计限制性很强的语法,使得不好的编程习惯(例如if语句的下一行不向右缩进)都不能通过编…
01 关于本书 02 代码约定 03 关于例子 04 如何联系我们 1 核心模块 11 介绍 111 内建函数和异常 112 操作系统接口模块 113 类型支持模块 114 正则表达式 115 语言支持模块 12 _ _builtin_ _ 模块 121 使用元组或字典中的参数调用函数 1211 Example 1-1 使用 apply 函数 1212 Example 1-2 使用 apply 函数传递关键字参数 1213 Example 1-3 使用 apply 函数调用基类的构造函数 122…
#标准库地址:https://docs.python.org/2/library/marshal.html"""有时候,要把内存中一个对象持久化保存磁盘或者序列化二进制流通过网络发送到远程主机上,python有很多模块提供了序列化与反列化功能,如:marshal, pickle, cPickle等 注意: marshal并不是一个通用的模块,在某些时候它是一个不被推荐使用的模块,因为使用marshal序列化的二进制数据格式还没有文档化,在不同版本的Python中,marsha…
转自:http://justcoding.iteye.com/blog/900993 一.简介 py2exe是一个将python脚本转换成windows上的可独立执行的可执行程序(*.exe)的工具,这样,你就可以不用装python而在windows系统上运行这个可执行程序. py2exe已经被用于创建wxPython,Tkinter,Pmw,PyGTK,pygame,win32com client和server,和其它的独立程序.py2exe是发布在开源许可证下的. 二.安装py2exe 从h…
http://blog.chedushi.com/archives/910 结论: 点评一下吧.django就是个渣,不多废话了.webpy的代码很简洁,可惜速度太慢了.bottle看起来快一点,不过也没有多出彩.tornado本身速度很快,不过模板——也就是如此吧.真的值得一用的,只有jinja2,mako,cheetah三个.速度都小于了5ms,单核每秒可以生成200个页面,16核机器上大概就能跑到3000req/s,性能比较高.jinja2的速度比较折衷,配置灵活,语法类似django是他…
一.简介 py2exe是一个将python脚本转换成windows上的可独立执行的可执行程序(*.exe)的工具,这样,你就可以不用装python而在windows系统上运行这个可执行程序.py2exe已经被用于创建wxPython,Tkinter,Pmw,PyGTK,pygame,win32com client和server,和其它的独立程序.py2exe是发布在开源许可证下的. 二.安装py2exe 从http://prdownloads.sourceforge.net/py2exe下载并运…