20. Python脚本学习笔记二十文件
本篇名言:“雄心是成功路上的指南,信心是永不放弃的召唤,热心是成功者的胸怀,耐心是驱赶困难的利剑,责任心是迈向成功的必然!愿五颗心伴你成功路上每一天!”
关于Python概念看的差不多了,接下去我们要开始来实际应用相关的了。先来看下文件相关的。
主要函数有以下这些:
打开文件:
Open(name[, mode[, buffering[[]
文件名为参数,返回一个文件对象,其实和C语言还是很像的有木有?
打开模式如下:
其中缓冲区大小是控制对文件的缓冲,对性能有影响。
1. 基本文件方法
如果有有一个名为f的类文件对象,就可以用f.write和f.read方法写入和读取数据。
如下:
f=open('somefile.txt','w')
f.write("hello")
f.write("world!")
f.close()
f=open('somefile.txt','r')
printf.read(4)
printf.read()
f.close()
也可以把文件当做流,
如下代码:
importsys
text=sys.stdin.read()
words=text.split()
wordcount=len(words)
print wordcount
运行如下:
E:\ >python Chapter1.py<somefile.txt
4
读写行,可以通过writeline和readline来实现。
有时候数据会被缓存在内存中,如果需要刷到硬盘中,需要执行flush函数。
2. 对文件内容进行迭代
对文件内容进行迭代以及重复执行一些操作是最常见的文件操作之一。
按字节处理如下,每次读入一个字符:
f=open('somefile.txt','r')
char=f.read(1)
whilechar:
print char
char=f.read(1)
f.close()
按行迭代操作
f=open('somefile.txt','r')
char=f.readline()
whilechar:
print char
char=f.readline()
f.close()
对于一个非常大的文件进行迭代行操作时候,readlines会占用太多内存。(readlines把文件读入一个字符串列表,列表中每个字符串就是一行),可以使用while循环和readline来替换。
3. 文件迭代器
不得不承认这个是文件读中最酷的方法了。
文件对象可迭代,也就是说可以直接使用for循环来使用它们。
f=open('somefile.txt','r')
forlinein f:
print line
f.close()
最后注意几点:
使用print来向文件内写入内容,会在提供的字符串后面增加新的行
使用序列来对一个打开的文件进行解包操作把每行都放入一个单独的变量。
在写文件后关闭文件,是为了确保数据被更新到硬盘。