浅谈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中DJANGO简单测试实例
May 11 Python
详解python开发环境搭建
Dec 16 Python
微信跳一跳游戏python脚本
Apr 01 Python
python筛选出两个文件中重复行的方法
May 31 Python
Python对切片命名的实现方法
Oct 16 Python
pygame游戏之旅 按钮上添加文字的方法
Nov 21 Python
python进程和线程用法知识点总结
May 28 Python
python安装requests库的实例代码
Jun 25 Python
python按键按住不放持续响应的实例代码
Jul 17 Python
iPython pylab模式启动方式
Apr 24 Python
Python爬虫之App爬虫视频下载的实现
Dec 08 Python
python中time.ctime()实例用法
Feb 03 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
php读取文件内容的方法汇总
2015/01/24 PHP
PHP中把数据库查询结果输出为json格式简单实例
2015/04/09 PHP
AES加解密在php接口请求过程中的应用示例
2016/10/26 PHP
万能的php分页类
2017/07/06 PHP
jQuery对象[0]是什么含义?
2010/07/31 Javascript
javascript的字符串按引用复制和传递,按值来比较介绍与应用
2012/12/28 Javascript
jQuery实现的动态伸缩导航菜单实例
2015/05/07 Javascript
javascript从作用域链谈闭包
2020/07/29 Javascript
如何使用Bootstrap的modal组件自定义alert,confirm和modal对话框
2016/03/01 Javascript
js实现tab选项卡切换功能
2017/01/13 Javascript
JS实现的抛物线运动效果示例
2018/01/30 Javascript
Vue.js 实现地址管理页面思路详解(地址添加、编辑、删除和设置默认地址)
2019/12/11 Javascript
python模拟登录百度代码分享(获取百度贴吧等级)
2013/12/27 Python
举例详解Python中yield生成器的用法
2015/08/05 Python
Python利用正则表达式实现计算器算法思路解析
2018/04/25 Python
Python基础之循环语句用法示例【for、while循环】
2019/03/23 Python
Python字符串处理的8招秘籍(小结)
2019/08/13 Python
解决pycharm同一目录下无法import其他文件
2020/02/12 Python
Matplotlib使用Cursor实现UI定位的示例代码
2020/03/12 Python
Python+logging输出到屏幕将log日志写入文件
2020/11/11 Python
CSS3 Backgrounds属性相关介绍
2011/05/11 HTML / CSS
CSS3实现可爱的小黄人动画
2016/07/11 HTML / CSS
尤妮佳moony海外旗舰店:日本殿堂级纸尿裤品牌
2018/02/23 全球购物
欧洲最大的品牌水上运动服装和设备在线零售商:Wuituit Outlet
2018/05/05 全球购物
分公司经理岗位职责
2013/11/11 职场文书
职称评定自我鉴定
2014/03/18 职场文书
货车司机岗位职责
2014/03/18 职场文书
家长会主持词
2014/03/26 职场文书
电子装配专业毕业生求职信
2014/04/23 职场文书
服装设计专业自荐信
2014/06/17 职场文书
卫生厅领导班子党的群众路线教育实践活动整改措施
2014/09/20 职场文书
工程催款通知书
2015/04/17 职场文书
2015年爱国卫生工作总结
2015/04/22 职场文书
2015年“7.11”世界人口日宣传活动方案
2015/05/06 职场文书
Python使用psutil库对系统数据进行采集监控的方法
2021/08/23 Python
php png失真的原因及解决办法
2021/11/17 PHP