pyc是二进制文件。
二进制文件包含在ASCII及扩展ASCII字符中编写的数据或程序指令的文件。
计算机文件基本上分为二种:二进制文件和 ASCII(也称纯文本文件),图形文件及文字处理程序等计算机程序都属于二进制文件。这些文件含有特殊的格式及计算机代码。ASCII 则是可以用任何文字处理程序阅读的简单文本文件。
使用二进制文件原因
第一是二进制文件比较节约空间,这两者储存字符型数据时并没有差别。但是在储存数字,特别是实型数字时,二进制更节省空间。
第二个原因是,内存中参加计算的数据都是用二进制无格式储存起来的,因此,使用二进制储存到文件就更快捷。如果储存为文本文件,则需要一个转换的过程。在数据量很大的时候,两者就会有明显的速度差别了。
第三,就是一些比较精确的数据,使用二进制储存不会造成有效位的丢失。
一、什么是pyc文件?
pyc文件就是py程序编译后得到的文件,是一种二进制文件。一般是这样的:
pyc文件经过python解释器最终会生成机器码运行。所以pyc文件是可以跨平台部署的,类似Java的.class文件。如果py文件改变,也会重新生成pyc文件。
相关推荐:《Python视频教程》
二、pyc文件怎么生成的?
1、被当做模块调用的时候会自动生成pyc文件。
一般是python脚本被当做模块被其他脚本文件调用时,就会产生pyc文件,举个例子:
如果你写了一个脚本文件image.py是用来生成验证码的,如果你在index.py文件中想引用这个脚本的功能,就需要通过import导入image.py文件,然后,如果你运行index.py文件,那就会在image.py文件所在的路径生成一个image.pyc文件。
2、对于py文件,可以执行下面命令来生成pyc文件。
3、通过代码来生成pyc文件。
三、为什么要生成pyc文件?
1、python为了提高运行效率也会进行编译。
python是解释型语言,运行的时候需要通过python解释器编译,所以先编译出pyc文件后,可以节省编译这一步的耗时时间。
2、不想让源码泄露。
因为py文件是可以直接看到源码的,对于一般的商业公司来说,这有点不妙,因为pyc文件可以独立于py文件,删除py文件也不会出错。这就是太好了,只需要编译成pyc文件再发布出去就好了。
pyc文件就是 Python 程序编译后得到的字节码文件 (py->pyc).pyc文件一般由3个部分组成:
最开始4个字节是一个Maigc int, 标识此pyc的版本信息, 不同的版本的 Magic 都在 Python/import.c 内定义
接下来四个字节还是个int,是pyc产生的时间(1970.01.01到产生pyc时候的秒数)
接下来是个序列化了的 PyCodeObject(此结构在 Include/code.h 内定义),序列化方法在 Python/marshal.c 内定义
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)