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.如果需要特殊的单独编译,则只需要使用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就是我们要编译的源文件

时间: 2024-11-05 06:29:23

python py、pyc、pyo、pyd文件区别的相关文章

如何生成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

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文件格式 .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__.

rpm打包时包含python脚本,需要忽略掉pyc, pyo字节码文件

制作rpm包时,有时包含python程序,一般默认的行为:打包时对python脚本会编译成pyc,pyo字节码文件并一起放在rpm包中,这可能导致打包时引用文件缺失的错误. 如果不需要这些字节码文件,可以修改 /usr/lib/rpm/brp-python-bytecompile 找到编译pyc,pyo的两条命令,并将其注释,或者直接在脚本开头就用exit 0 退出. 但是要注意,如果已经打了一次包并在pyc,pyo文件缺失的步骤上失败,则打包的临时目录中可能残留了文件,需要把临时目录(通常在/

Python生成pyd文件

Python的脚本文件是开源的,量化策略的安全性没有保障.因此需要保护源码.那么要对Python代码进行混淆.加密保护. 混淆代码,我准备使用pyminifier.而加密处理,就比较麻烦. Python有py.pyc.pyw.pyo.pyd等文件格式. 其中,pyc是二进制文件.但很容易被反编译. pyw也不行,只是隐藏命令行界面而已,可以作为入口脚本. pyo和pyc差不多,也容易被反编译. 最后剩下pyd格式.pyd格式是D语言(C/C++综合进化版本)生成的二进制文件,实际也会是dll文件

zg手册 之 python2.7.7源码分析(4)-- pyc字节码文件

什么是字节码 python解释器在执行python脚本文件时,对文件中的python源代码进行编译,编译的结果就是byte code(字节码) python虚拟机执行编译好的字节码,完成程序的运行 python会为导入的模块创建字节码文件 字节码文件的创建过程 当a.py依赖b.py时,如在a.py中import b python先检查是否有b.pyc文件(字节码文件),如果有,并且修改时间比b.py晚,就直接调用b.pyc 否则编译b.py生成b.pyc,然后加载新生成的字节码文件 字节码对象

python基础 pyc

关于pyc的几点记录: python运行时会将python语句----->"字节码"------>转发到"虚拟机" 字节码:在大型的python程序中 为了提高运行效率  允许python进程在服务器写入字节码文件即pyc文件,这是一种启动速度的优化 下一次程序运行时,py文件没有改动,则直接加载pyc,跳过编译过程,通过检查源文件和字节码文件的时间戳,判断是否需要重新编译 如果机器不允许写入字节码文件,则在编译之后,在内存中生成,在程序执行结束之后 文

Selenium+Python参数化:读取TXT文件

概述 从Selenium模块化一文中,可以看出参数化的必要性,本文来介绍下读取外部txt文件的方法. 如何打开文件 打开文件有以下两个函数可以应用: 1.open(file_name,access_mode) file_name: 文件路径及名称: access_mode :访问方式,具体参数如下,,未提供参数,则默认为r: r:表示读取: w:表示写入: a:表示添加: +: 表示读写: b:表示2进制访问; 2.file函数 file()内建函数它的功能等于open(),如下根据文档说明可知