1、接字节处理
最常见的对文件内容进行迭代的方法是while循环中使用read方法。例如,对每个字符进行循环,可以用下面方法实现:
f = open(filename)
char = f.read(1)
while char:
process(char)
char = f.read(1)
f.close()
read方法返回的字符串会包含一个字符,直到文件末尾,read返回一个空的字符串,char将变为假。
可以看到,char = f.read(1) 被重复地使用,代码重复通过被认为是一件坏事,看看下面的方法:
f = open(filename)
while True:
char = f.read(1)
if not char: break
process(char)
f.close()
这里break语句被频繁的使用(这样会让代码比较难懂),尽管如此,但它仍然要比前面的方法好。
2、读取所有内容
如果文件不是很大,那么可以使用不带参数的read方法一次读取整个文件,或者使用readlines方法。
#用read迭代每个字符
f = open(filename)
for char in f.read():
process(char)
f.close()
#用readlines迭代行:
f = open(filename)
for line in f.readlines():
process(line)
f.close()
3、用fileinput 来进行迭代
fileinput模块包含了打开文件的函数,,只需要传一个文件名给它
import fileinput
for line in fileinput.input(filename):
process(line)
4、文件迭代器
好吧!这是python2.2之后才有的方法,如果它一开始就有,上面的方法也许就不存在了。文件对象是可以迭代的,这就意味着可以直接在for循环中对他们进行迭代
f = open(filename)
for line in f:
process(line)
f.close()
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。