Python基础--基本文件操作
2016-03-25 23:57
597 查看
所有的编程语言都一样,学完了一些自带的数据机构后,就要操作文件了。
文件操作才是实战中的王道。
所以,今天就来分享一下Python中关于文件的一些基本操作。
open方法
文件模式
这个模式对于写入文件很重要。
缓冲
open函数的第三个参数
读和写
完成对文件的操作,记得要close。
莞式输出(管式输出)
例子,统计单词数目:
最后介绍一下,什么是二进制文件:
定义
广义的二进制文件即指文件,由文件在外部设备的存放形式为二进制而得名。狭义的二进制文件即除文本文件以外的文件。文本文件是一种由很多行字符构成的计算机文件。文本文件存在于计算机系统中,通常在文本文件最后一行放置文件结束标志。文本文件的编码基于字符定长,译码相对要容易一些;二进制文件编码是变长的,灵活利用率要高,而译码要难一些,不同的二进制文件译码方式是不同的。
从本质上来说他们之间没有什么区别,因为他们在硬盘上都有一种的存放方式–二进制,但是如果要对他们有些区分的话,那可以这样理解。每个字符由一个或多个字节组成,每个字节都是用的-128—127之间的部分数值来表示的,也就是说,-128——127之间还有一些数据没有对应任何字符的任何字节。如果一个文件中的每个字节的内容都是可以表示成字符的数据,我们就可以称这个文件为文本文件,可见,文本文件只是二进制文件中的一种特例,为了与文本文件相区别,人们又把除了文本文件以外的文件称为二进制文件,由于很难严格区分文本文件和二进制文件的概念,所以我们可以简单地认为,如果一个文件专门用于存储文本字符的数据,没有包含字符以外的其他数据,我们就称之为文本文件,除此之外的文件就是二进制文件。
为什么要使用二进制文件。原因大概有三个:
第一是二进制文件比较节约空间,这两者储存字符型数据时并没有差别。但是在储存数字,特别是实型数字时,二进制更节省空间,比如储存 Real*4 的数据:3.1415927,文本文件需要 9 个字节,分别储存:3 . 1 4 1 5 9 2 7 这 9 个 ASCII 值,而二进制文件只需要 4 个字节(DB 0F 49 40)
第二个原因是,内存中参加计算的数据都是用二进制无格式储存起来的,因此,使用二进制储存到文件就更快捷。如果储存为文本文件,则需要一个转换的过程。在数据量很大的时候,两者就会有明显的速度差别了。
第三,就是一些比较精确的数据,使用二进制储存不会造成有效位的丢失
文件操作才是实战中的王道。
所以,今天就来分享一下Python中关于文件的一些基本操作。
open方法
文件模式
这个模式对于写入文件很重要。
r 读模式 w 写模式 a 追加模式 b 二进制模式 + 读写模式
缓冲
open函数的第三个参数
0 I/O无缓冲 1 I/O有缓冲 大于1 缓冲大小,字节为单位 -1 使用默认缓冲区大小
读和写
f = open('somefile.txt', 'w') f.write('Hello. ') f.write('World!') f.close()
完成对文件的操作,记得要close。
f = open('somefile.txt', 'r') f.read(4) 'Hell' f.read() 'o, World!'
莞式输出(管式输出)
例子,统计单词数目:
import sys text = sys.stdin.read() words = text.split() wordcount = len(words) print 'Wordcount:', wordcount
最后介绍一下,什么是二进制文件:
定义
广义的二进制文件即指文件,由文件在外部设备的存放形式为二进制而得名。狭义的二进制文件即除文本文件以外的文件。文本文件是一种由很多行字符构成的计算机文件。文本文件存在于计算机系统中,通常在文本文件最后一行放置文件结束标志。文本文件的编码基于字符定长,译码相对要容易一些;二进制文件编码是变长的,灵活利用率要高,而译码要难一些,不同的二进制文件译码方式是不同的。
从本质上来说他们之间没有什么区别,因为他们在硬盘上都有一种的存放方式–二进制,但是如果要对他们有些区分的话,那可以这样理解。每个字符由一个或多个字节组成,每个字节都是用的-128—127之间的部分数值来表示的,也就是说,-128——127之间还有一些数据没有对应任何字符的任何字节。如果一个文件中的每个字节的内容都是可以表示成字符的数据,我们就可以称这个文件为文本文件,可见,文本文件只是二进制文件中的一种特例,为了与文本文件相区别,人们又把除了文本文件以外的文件称为二进制文件,由于很难严格区分文本文件和二进制文件的概念,所以我们可以简单地认为,如果一个文件专门用于存储文本字符的数据,没有包含字符以外的其他数据,我们就称之为文本文件,除此之外的文件就是二进制文件。
为什么要使用二进制文件。原因大概有三个:
第一是二进制文件比较节约空间,这两者储存字符型数据时并没有差别。但是在储存数字,特别是实型数字时,二进制更节省空间,比如储存 Real*4 的数据:3.1415927,文本文件需要 9 个字节,分别储存:3 . 1 4 1 5 9 2 7 这 9 个 ASCII 值,而二进制文件只需要 4 个字节(DB 0F 49 40)
第二个原因是,内存中参加计算的数据都是用二进制无格式储存起来的,因此,使用二进制储存到文件就更快捷。如果储存为文本文件,则需要一个转换的过程。在数据量很大的时候,两者就会有明显的速度差别了。
第三,就是一些比较精确的数据,使用二进制储存不会造成有效位的丢失
相关文章推荐
- Python 技巧(三)—— list 删除一个元素的三种做法
- Python2.6和Python3.0中对除法操作的异同
- 我的Python学习之路之基本语法-输入输出
- python spark wingide
- 配置python镜像源
- 堆排序(python实现)
- <Python>Numpy和Matplotlib的HelloWorld
- Python入门 之 Set
- python中的字符串编码
- Python reverse order
- Python介绍、环境搭建(Eclipse插件)、第一个程序
- numpy 常用api(四)
- Python 分发工具初探之 setuptools 进阶
- python--类方法、对象方法、静态方法
- Python--类定义
- python 使用 passlib 库在 windows 平台实现 crypt
- Spark机器学习7·降维模型(scala&python)
- Spark机器学习1·编程入门(scala/java/python)
- python 模拟登陆leetcode
- Python环境的安装