【C++程序员学 python】python 的文件类型
python的文件类型主要分为3种,分别是源代码、字节代码和优化代码。这些代码都可以直接运行,不需要进行编译或者连接。
这正是python语言的特性,python的文件通过python.exe 或pythonw.exe解释执行。
1、源代码
python源代码的文件以“py”为扩展名,由python.exe解释,可以在控制台下运行。用python语言写的程序不需要编译成二进制代码,
可以直接运行源代码。“pyw”是程序开发图形用户接口(GUI)的源文件的扩展名,作为桌面应用程序,这种文件是专门用于开发图形界面的,由pythonw.exe解释运行。“py”
和“pyw”类型的文件可以用文本工具打开并可以编辑文件的内容。
2、字节代码
python源文件经过编译后生成扩展名为“pyc”的文件,“pyc”是编译过的字节文件。这种文件不能使用文本编辑工具打开或修改。“pyc”
文件是与平台无关的。因此python的程序可以运行在windows、UNIX和Linux等操作系统上。“py”文件直接运行后即可得到“pyc”
类型的文件或者通过脚本生成该类型的文件。例如,下面这段脚本可以把hello.py 文件编译为hello.pyc文件:
import py_compile
py_compile.compile("hello.py")
3、优化代码
经过优化的源文件生成扩展名为“pyo”的文件。“pyo”类型的文件需要命令行工具生成。
“pyo”文件也不能使用文本工具打开或修改。例如,用下面的步骤把hello.py文件编译成hello.pyo文件。
(1)启动命令窗口,进入hello.py文件所在目录:
(2)在命令行中输入“python -O -m py_compile hello.py”
参数-O 表示生成优化代码。
参数-m 表示把导入的py_compile模块作为脚本运行。编译hello.pyo需要调用py_compile模块中的compile()方法。
编译完成后,可以在hello.py的目录下,发现已经生成了一个hello.pyo文件。
【C++程序员学 python】python 的文件类型的更多相关文章
- C++程序员学Python
目录 C++程序员学Python 第二章.变量和数据类型 1.注释语句前用#: 2.常用于大小写函数: 第三章.列表 1.列表简述 2.修改,增加,插入,删除列表元素 第四章操作列表 1.遍历 2.创 ...
- .Net程序员学用Oracle系列(30):零碎补充、最后总结(The End)
1.同义词 2.Flashback 技术 3.连接字符串的写法 4.转义字符 & 特殊运算符 5.文件类型 6.查看参数 & 修改参数 7.AWR 工具 8.学习方法 & 学习 ...
- CSharp程序员学Android开发---2.个人总结的快捷键
最近公司组织项目组成员开发一个Android项目的Demo,之前没有人有Andoid方面的开发经验,都是开发C#的. 虽说项目要求并不是很高,但是对于没有这方面经验的人来说,第一步是最困难的. 项目历 ...
- CSharp程序员学Android开发---1.初识AndriodIDE,掌握工具使用
最近公司组织项目组成员开发一个Android项目的Demo,之前没有人有Andoid方面的开发经验,都是开发C#的. 虽说项目要求并不是很高,但是对于没有这方面经验的人来说,第一步是最困难的. 项目历 ...
- 程序员学点xx 之 Redis
程序员学点xx 之 Redis 概述 其实程序员也要和操作系统打交道, 比如最常见的,部署自己电脑上的开发环境. 当然有时某些牛人, 觉得运维或基础部门的同事不够给力, 亲自上手部署服务器或线上环境, ...
- .Net程序员学用Oracle系列(1):导航目录
本人从事基于 Oracle 的 .Net 企业级开发近三年,在此之前学习和使用的都是 (MS)SQL Server.未曾系统的了解过 Oracle,所以长时间感到各种不习惯.不方便.怪异和不解,常会遇 ...
- .Net程序员学用Oracle系列(2):准备测试环境
<.Net程序员学用Oracle系列:导航目录> 本文大纲 1.创建说明 1.1.为什么要创建的测试环境? 1.2.了解 Oracle 实例的默认用户 2.创建环境 2.1.创建基本环境 ...
- .Net程序员学用Oracle系列(6):表、字段、注释、约束、索引
<.Net程序员学用Oracle系列:导航目录> 本文大纲 1.表 1.1.创建表 1.2.修改表 & 删除表 2.字段 2.1.添加字段 2.2.修改字段 & 删除字段 ...
- .Net程序员学用Oracle系列(7):视图、函数、过程、包
<.Net程序员学用Oracle系列:导航目录> 本文大纲 1.视图 1.1.创建视图 2.函数 2.1.创建函数 2.2.调用函数 3.过程 3.1.创建过程 3.2.调用过程 4.包 ...
- .Net程序员学用Oracle系列(8):触发器、任务、序列、连接
<.Net程序员学用Oracle系列:导航目录> 本文大纲 1.触发器 1.1.创建触发器 1.2.禁用触发器 & 启用触发器 & 删除触发器 2.任务 2.1.DBMS_ ...
随机推荐
- Maven学习--- 搭建多模块企业级项目
我们先在eclipse中新建一个maven项目,pom.xml的文件如下: 搭建多模块项目,必须要有一个packaging为pom的根目录.创建好这个maven项目后,我们对着项目右键-->ne ...
- mac下 cordova 搭建
最近遇到一个cordova搭建的项目,于是看了看如何搭建这个. 这个其实 和 phoneGap 差不多,都是为了方便html跨平台才产生的产物. cordova 也可以生成 iOS 和 安卓 ...
- Xcode command line tools
1.Xcode command line tools 安装 如果你不是一名 iOS 或 OS X 开发者,可以跳过安装 XCode 的过程,直接安装 Xcode command line tools. ...
- 反射式光电开关QRE1113
The QRE1113 is a small IR reflectance sensor. This sensor is often used in line following robots bec ...
- 转 分享我在阿里工作十年接触过Java框架设计模式
转 原文: 分享我在阿里工作十年接触过Java框架设计模式 一.前言 说起来设计模式,大家应该都耳熟能详,设计模式代表了软件设计的最佳实践,是经过不断总结提炼出来的代码设计经验的分类总结,这些模式或者 ...
- Ajax接收并显示后台传来的list集合内的数据信息
最近在学习Ajax做一个留言系统的时候碰到需要将list集合从后台传到前台ajax接收并显示的情况,在网上搜了很多,但很多情况都不是和我遇见的情况一样的,现在,直接贴出我的问题及解决方法. 后台代码: ...
- 解决ssh连接慢(有时候等半分钟才出现密码输入提示)的方法
经常通过ssh 或者 scp 连接一堆远程主机,同样是 Linux 主机,其中一些创建 ssh 连接速度特别慢,连接建立之后执行操作速度却很正常,看来应该不是网络原因.解决的方法是通过ssh 的-v参 ...
- Mysql show processlist 排查问题
一.命令概述: mysql show full processlist 用来查看当前线程处理情况,具体信息请参考官网:https://dev.mysql.com/doc/refman/5.7/en/s ...
- Window 7 + Ubuntu 双系统安装
硬件: ThinkPad X260 i5-6200U/8G/480G 当前系统: Window 7 旗舰版 64位 下载 Ubuntu 官网 下载桌面版,当前 Ubuntu 版本为:16.04 镜像安 ...
- ios中解析json对象基类
这个是对上面一篇写的一个解析json对象的基类 @interface BaseObjectFromJson : NSObject + (id) objectWithDict:(NSDictionary ...