浅谈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 相关文章推荐
实践Python的爬虫框架Scrapy来抓取豆瓣电影TOP250
Jan 20 Python
使用python将大量数据导出到Excel中的小技巧分享
Jun 14 Python
Python实现的银行系统模拟程序完整案例
Apr 12 Python
基于python解线性矩阵方程(numpy中的matrix类)
Oct 21 Python
python中设置超时跳过,超时退出的方式
Dec 13 Python
python 判断一组数据是否符合正态分布
Sep 23 Python
Python生成pdf目录书签的实例方法
Oct 29 Python
python海龟绘图之画国旗实例代码
Nov 11 Python
使用Python解析Chrome浏览器书签的示例
Nov 13 Python
python中绕过反爬虫的方法总结
Nov 25 Python
python3列表删除大量重复元素remove()方法的问题详解
Jan 04 Python
Python机器学习算法之决策树算法的实现与优缺点
May 13 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
thinkphp中ajax与php响应过程详解
2014/12/08 PHP
PHP实现数据库的增删查改功能及完整代码
2018/04/18 PHP
form中限制文本字节数js代码
2007/06/10 Javascript
Javascript 面向对象 重载
2010/05/13 Javascript
js 页面关闭前的出现提示的实现代码
2011/05/25 Javascript
jQuery实现自动调整字体大小的方法
2015/06/15 Javascript
超级给力的JavaScript的React框架入门教程
2015/07/02 Javascript
浅谈jQuery 中的事件冒泡和阻止默认行为
2016/05/28 Javascript
jQuery查找节点并获取节点属性的方法
2016/09/09 Javascript
详解微信小程序 页面跳转 传递参数
2016/12/08 Javascript
基于JQuery和原生JavaScript实现网页定位导航特效
2017/04/03 jQuery
微信小程序实现swiper切换卡内嵌滚动条不显示的方法示例
2018/12/20 Javascript
微信小程序使用canvas的画图操作示例
2019/01/18 Javascript
微信小程序基于picker实现级联菜单
2019/02/15 Javascript
使用pm2部署node生产环境的方法步骤
2019/03/09 Javascript
用vscode开发vue应用的方法步骤
2019/05/06 Javascript
js实现拖拽元素选择和删除
2020/08/25 Javascript
javascript实现点击产生随机图形
2021/01/25 Javascript
JPype实现在python中调用JAVA的实例
2017/07/19 Python
详解Django的model查询操作与查询性能优化
2018/10/16 Python
详解Python 多线程 Timer定时器/延迟执行、Event事件
2019/06/27 Python
python如何获取列表中每个元素的下标位置
2019/07/01 Python
记一次pyinstaller打包pygame项目为exe的过程(带图片)
2020/03/02 Python
python数据库开发之MongoDB安装及Python3操作MongoDB数据库详细方法与实例
2020/03/18 Python
基于python+selenium自动健康打卡的实现代码
2021/01/13 Python
通过css3的filter滤镜改变png图片的颜色的示例代码
2020/05/06 HTML / CSS
印度民族服装购物网站:BIBA
2019/08/05 全球购物
最新英语专业学生求职信范文
2013/09/21 职场文书
拒绝黄毒毒宣传标语
2014/06/26 职场文书
民主评议党员自我鉴定
2014/10/21 职场文书
2014年体育部工作总结
2014/11/13 职场文书
2014年接待工作总结
2014/11/26 职场文书
初中优秀学生评语
2014/12/29 职场文书
2016年共产党员公开承诺书
2016/03/24 职场文书
爱岗敬业事迹材料
2019/06/20 职场文书