python 文件 .py .pyc .pyw .pyo .pyd

DLL文件动态链接库文件,是一种可执行文件,它允许程序共享执行特殊任务所必需的代码和其他资源。打不开,不过可以使用反汇编;PYD是一种PYTHON动态模块。实质上还是dll文件,只是改了后缀为PYD,pyd:
扩展模块,一般用C或C++编写,其实可以说是一种更优秀的D语言编写的。

源自:http://my.oschina.net/renwofei423/blog/17404

通常认为,Python是一种解释性的语言,但是这种说法是不正确的,实际上,Python在执行时,首先会将.py文件中的源代码编译成

Python的byte code(字节码),然后再由Python Virtual Machine来执行这些编译好的byte code。这种机制的基本思想跟Java,.NET

是一致的。然而,Python Virtual Machine与Java或.NET的Virtual Machine不同的是,Python的Virtual Machine是一种更高级的

Virtual Machine。这里的高级并不是通常意义上的高级,不是说Python的Virtual Machine比Java或.NET的功能更强大,更拽,而是说

和Java或.NET相比,Python的Virtual Machine距离真实机器的距离更远。或者可以这么说,Python的Virtual Machine是一种抽象层次

更高的Virtual Machine。

Python应该提供一种机制,保存编译的中间结果,即byte code,或者更准确地说,保存PyCodeObject。事实上,Python确实提供

了这样一种机制——Pyc文件。

在执行一个.py文件中的源代码之后,Python并不会自动生成与该.py文件对应的.pyc文件。我们需要自己触发Python来创建pyc文件。

下面我们提供一种使Python创建pyc文件的方法,其实很简单,就是利用Python的import机制。

在Python运行的过程中,如果碰到import abc,这样的语句,那么Python将到设定好的path中寻找abc.pyc或abc.dll文件,如果没有这

些文件,而只是发现了abc.py,那么Python会首先将abc.py编译成相应的PyCodeObject的中间结果,然后创建abc.pyc文件,并将中间

结果写入该文件。接下来,Python才会对abc.pyc文件进行一个import的动作,实际上也就是将abc.pyc文件中的PyCodeObject重新在内

存中复制出来

下面是与python相关的文件扩展名,源自:http://proupy.com/news/33

首先是我们最常见的.py文件。以.py扩展名的文件是源代码文件,由python.exe解释,可在控制台下运行。当然也可以用文本编辑器进

行修改。

接下来介绍的是.pyc文件。以.pyc为扩展名的是python的编译文件。.pyc文件是不能够用文本编辑器之类的进行编辑的,但是同样它的

优点在于.pyc文件的执行速度快于.py文件。至于为什么要有.pyc文件,这个需求太明显了,因为py文件是可以直接看到源码的,如果

你是开发商业软件的话,不可能把源码也泄漏出去吧?所以就需要编译为pyc后,再发布出去。

再接下来介绍的是.pyw文件。很多使用过.pyc文件的同学都知道,.pyc文件执行的时候桌面会出现黑糊糊的窗口,有的时候这是十分难

看的。于是.pyw文件就应运而生了。.pyw文件与.pyc文件本质上没有什么区别,只是.pyw执行的时候不会出现黑窗口。.pyw 格式主要

是被设计来运行开发完成的纯图形界面程序的。 纯图形界面程序的用户不需要看到控制台窗口。值得一提的是,开发纯图形界面程序

的时候,你可以暂时把 .pyw 改成 .py , 以便运行时能调出控制台窗口,看到所有错误信息,方便进行修改。

接下来介绍的是.pyo文件。pyo是优化编译后的程序。 python -O 源文件即可将源程序编译为pyo文件。同样.pyo文件也是不能用文

本编辑器编辑的。

最后介绍的是.pyd文件。.pyd文件并不是使用python编写而成,.pyd文件一般是其他语言编写的python扩展模块。(之前又在网上看到

过有关解释,.pyd文件是用D语言按照一定的格式编写,并处理成二进制文件。那么什么是D语言呢??它是c/c++的综合进化版,不仅

具有二者的全部优点,而且整体性能更佳,但是其抽象程度高。)

时间: 2024-10-30 12:52:44

python 文件 .py .pyc .pyw .pyo .pyd的相关文章

Python文件格式 .py .pyc .pyw .pyo .pyd的主要区别

Python是一种面向对象.解释型计算机程序设计语言.Python 语法简洁.清晰,具有丰富和强大的类库.Python源代码遵循 GPL (GNU General Public License) 协议,由 Guido van Rossum 于 1989 年底发明,第一个公开发行版发行于 1991 年.Python 常被称为胶水语言,能把用其他语言编写的各模块 (尤其是 C/C++) 轻松地联结在一起.常见情形是,用 Python 快速生成程序原型 (有时甚至是程序最终界面),然后对其中有特别要求

py,pyc,pyw文件的区别和使用

熟悉python编程的都知道,python三种最常见的py文件格式,.py,.pyc,.pyw,下面说一说它们各自的使用. py文件 python最常见的文件,是python项目的源码: 文件执行时linux下调用python执行,windows下调用python.exe: 如果在终端窗口或IDE执行命令,其相关的print(),或执行结果打印在当前的窗口上: 注意: 在如pycharm中,当存在需要from *** import **这种需要导入时,无论在当前的目录下是否存在__init__.

python中.py和.pyw文件的区别

:本文为博主原创文章,未经博主允许不得转载. 以下是摘录自百度问题的答案: 严格来说,它们之间的不同就只有一个:视窗运行它们的时候调用不同的执行档案. 视窗用 python.exe 运行 .py ,用 pythonw.exe 运行 .pyw . 这纯粹是因为安装视窗版 Python 时,扩展名 .py 自动被登记为用 python.exe 运行的文件, 而 .pyw 则被登记为用 pythonw.exe 运行. .py 和 .pyw 之间的"其它差别"全都是 python.exe 和

使用py2exe将python文件.py编译成可以执行文件.exe

下载py2exe并安装,最新的是py2exe-2.1,只支持python 2.4-2.7 编写helloworld.py print("Hello World!") 在py2exe安装目录新建文件setup.py,编写内容如下: from distutils.core import setup import py2exe setup(console=['helloworld.py']) 然后在命令行(cmd)执行: python setup.py install python setu

关于python文件转为exe文件

一.简介 py2exe是一个将python脚本转换成windows上的可独立执行的可执行程序(*.exe)的工具,这样,你就可以不用装python而在windows系统上运行这个可执行程序. py2exe已经被用于创建wxPython,Tkinter,Pmw,PyGTK,pygame,win32com client和server,和其它的独立程序.py2exe是发布在开源许可证下的. 二.安装py2exe 从 http://prdownloads.sourceforge.net/py2exe下载

python 文件MD5 SHA1校验计算

#coding: GBK #md5SHA1文件校验值计算 #使用方法: python 文件.py  验证文件 import hashlib import sys import os defmd5_sum(filename):     #校验值方法 fd=open(filename,"rb") #打开文件 fd.seek(0)             #将文件打操作标记移到offset的位置 line=fd.readline()     #读取文件第一行进入line #md5校验值计算

python py、pyc、pyo、pyd文件区别

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

python下编译py成pyc和pyo

其实很简单,用python -m py_compile file.py python -m py_compile /root/src/{file1,file2}.py编译成pyc文件.也可以写份脚本来做这事:Code: import py_compile py_compile.compile('path') //path是包括.py文件名的路径 用python -O -m py_compile file.py 编译成pyo文件.1.其中的 -m 相当于脚本中的import,这里的-m py_co

如何生成pyc/pyo/pyd文件

# 一.如何生成pyc/pyo文件 # 1.通过编写代码生成 import py_compile # 参数如下 ''' def compile(file, cfile=None, dfile=None, doraise=False, optimize=-1): file:要编译的源文件 cfile:编译之后的pyc文件路径和文件名,默认直接在file后面加上c或者o(会保存在当前目录的__pycache__文件夹下), pyo相当于优化之后的pyc dfile:把在错误信息中显示的file用df