浅谈Python的文件类型


Posted in Python onMay 30, 2016

Python的文件类型主要分为3种:源代码(source file)、字节码(byte-code file)、优化的字节码(optimized file)。这些代码都可以直接运行,不需要编译或者连接。这正是Python语言的特性,Python的文件通过python.exe和pythonw.exe解释运行。

1.源代码

Python的源文件以"py"为扩展名,有python.exe解释运行,可在控制台下运行。"pyw"是图形开发用户接口(GUI)文件的扩展名,作为桌面应用程序,这种文件用于开发图形界面的,由pythonw.exe解释运行。

"py"和"pyw"的文件都可以用文本编辑器打开并编辑。

2.字节代码

Python的源文件经过编译之后生成扩展名为"pyc",该文件不能用文本编辑器打开或编辑。"pyc"文件与平台无关,因此Python的程序可以运行在Windows、Unix和Linux等系统上。

通过运行一下脚本可以将"py"文件编译成"pyc"文件。

import py_compile2 py_compile.compile("hello.py")

运行之后可以得到"hello.pyc"文件,"pyc"文件存放于源文件路径中的__pycache__下。参见:https://www.python.org/dev/peps/pep-3147/

运行:

浅谈Python的文件类型

 

浅谈Python的文件类型

3.优化代码

经过优化的代码生成扩展名为"pyo"的文件,该类文件也不能用文本编辑器打开或者编辑。"pyo"类型的文件需要通过命令行工具生成。win+R启动命令行,进入到"py"文件所在目录,输入一下命令进行编译。

python -o -m py_compile hello.py

"-o" 表示生成优化代码

"-m" 表示把 py_compile模块作为脚本运行,编译代码需要调用 py_compile模块的complie()方法。

目前以"pyo"为扩展名的形式已经作废,均采用"pyc"为扩展名,在文件名称上进行区别。参见:https://www.python.org/dev/peps/pep-0488/

运行命令之后在源文件所在文件夹下__pycache__目录中生成xxx.cpython-xx.opt-x.pyc文件。

例如编译hello.py文件之后生成hello.cpython-35.opt-1.pyc文件。

浅谈Python的文件类型

以上这篇浅谈Python的文件类型就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Hadoop中的Python框架的使用指南
Apr 22 Python
讲解Python中fileno()方法的使用
May 24 Python
在Django的上下文中设置变量的方法
Jul 20 Python
Python3利用SMTP协议发送E-mail电子邮件的方法
Sep 30 Python
python 重定向获取真实url的方法
May 11 Python
Python之列表实现栈的工作功能
Jan 28 Python
如何实现Django Rest framework版本控制
Jul 25 Python
Python实现语音识别和语音合成功能
Sep 20 Python
Java文件与类动手动脑实例详解
Nov 10 Python
Django密码存储策略分析
Jan 09 Python
python实现图片,视频人脸识别(dlib版)
Nov 18 Python
Python带你从浅入深探究Tuple(基础篇)
May 15 Python
python中string模块各属性以及函数的用法介绍
May 30 #Python
Python 常用string函数详解
May 30 #Python
整理Python 常用string函数(收藏)
May 30 #Python
深入浅析python继承问题
May 29 #Python
Python的几个高级语法概念浅析(lambda表达式闭包装饰器)
May 28 #Python
python自动翻译实现方法
May 28 #Python
详解Python编程中对Monkey Patch猴子补丁开发方式的运用
May 27 #Python
You might like
咖啡是不是喝了会上瘾?咖啡是必须品吗!
2021/03/04 新手入门
php+mysqli事务控制实现银行转账实例
2015/01/29 PHP
番茄的表单验证类代码修改版
2008/07/18 Javascript
jquery ui dialog ie8出现滚动条的解决方法
2010/12/06 Javascript
JavaScript 学习笔记之一jQuery写法图片等比缩放以及预加载
2012/06/28 Javascript
JavaScript 用cloneNode方法克隆节点的代码
2012/10/15 Javascript
js给selected添加options的方法
2015/05/06 Javascript
实例代码详解jquery.slides.js
2015/11/16 Javascript
浅析Node.js:DNS模块的使用
2016/11/23 Javascript
DropDownList实现可输入可选择(两种版本可选)
2016/12/07 Javascript
AngularJS service之select下拉菜单效果
2017/07/28 Javascript
使用Bootstrap + Vue.js实现表格的动态展示、新增和删除功能
2017/11/27 Javascript
在Web关闭页面时发送Ajax请求的实现方法
2019/03/07 Javascript
小程序click-scroll组件设计
2019/06/18 Javascript
一次微信小程序内地图的使用实战记录
2019/09/09 Javascript
解决layui表格内文本超出隐藏的问题
2019/09/12 Javascript
在antd Table中插入可编辑的单元格实例
2020/10/28 Javascript
[08:06]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Elephant 选手采访
2021/03/11 DOTA
python实现socket客户端和服务端简单示例
2014/02/24 Python
python中global与nonlocal比较
2014/11/21 Python
Python实现豆瓣图片下载的方法
2015/05/25 Python
Python 基础教程之str和repr的详解
2017/08/20 Python
python好玩的项目—色情图片识别代码分享
2017/11/07 Python
简单实现python进度条脚本
2017/12/18 Python
详解如何用django实现redirect的几种方法总结
2018/11/22 Python
Python numpy.zero() 初始化矩阵实例
2019/11/27 Python
Python用access判断文件是否被占用的实例方法
2020/12/17 Python
opencv实现图像几何变换
2021/03/24 Python
求职简历自荐信范文
2013/10/21 职场文书
财务分析个人的自荐书范文
2013/11/24 职场文书
文明教师事迹材料
2014/01/16 职场文书
《学棋》教后反思
2014/04/14 职场文书
婚礼答谢礼品
2015/01/20 职场文书
学生逃课万能检讨书2000字
2015/02/17 职场文书
2016领导干部廉洁自律心得体会
2016/01/13 职场文书
Python+uiautomator2实现自动刷抖音视频功能
2021/04/29 Python