全部的编程语言都一样,学完了一些自带的数据机构后,就要操作文件了。
文件操作才是实战中的王道。
所以,今天就来分享一下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
最后介绍一下,什么是二进制文件:
定义
广义的二进制文件即指文件,由文件在外部设备的存放形式为二进制而得名。狭义的二进制文件即除文本文件以外的文件。文本文件是一种由非常多行字符构成的计算机文件。
文本文件存在于计算机系统中,通常在文本文件最后一行放置文件结束标志。文本文件的编码基于字符定长,译码相对要easy一些;二进制文件编码是变长的,灵活利用率要高,而译码要难一些,不同的二进制文件译码方式是不同的。
从本质上来说他们之间没有什么区别。由于他们在硬盘上都有一种的存放方式–二进制,可是假设要对他们有些区分的话,那能够这样理解。每一个字符由一个或多个字节组成,每一个字节都是用的-128—127之间的部分数值来表示的,也就是说,-128——127之间另一些数据没有相应不论什么字符的不论什么字节。
假设一个文件里的每一个字节的内容都是能够表示成字符的数据,我们就能够称这个文件为文本文件,可见,文本文件仅仅是二进制文件里的一种特例,为了与文本文件相区别,人们又把除了文本文件以外的文件称为二进制文件,由于非常难严格区分文本文件和二进制文件的概念,所以我们能够简单地觉得,假设一个文件专门用于存储文本字符的数据,没有包括字符以外的其它数据,我们就称之为文本文件。除此之外的文件就是二进制文件。
为什么要使用二进制文件。原因大概有三个:
第一是二进制文件比較节约空间,这两者储存字符型数据时并没有区别。可是在储存数字,特别是实型数字时,二进制更节省空间,比方储存 Real*4 的数据:3.1415927。文本文件须要 9 个字节,分别储存:3 . 1 4 1 5 9 2 7 这 9 个 ASCII 值。而二进制文件仅仅须要 4 个字节(DB 0F 49 40)
第二个原因是。内存中參加计算的数据都是用二进制无格式储存起来的,因此,使用二进制储存到文件就更快捷。假设储存为文本文件,则须要一个转换的过程。在数据量非常大的时候,两者就会有明显的速度区别了。
第三,就是一些比較精确的数据,使用二进制储存不会造成有效位的丢失