文件的迭代相当于对文件中的内容进行遍历和操作:
1.用read方法,每次读取一定量的字节数,对读到的字节数进行process: 两种方法遍历:
(1)
f = open(filename)
char = f.read(1)
while char:
process(char)
char= f.read(1)
f.close
f.read(1)每执行一次,指针就会移到下一个位置
(2)
f = open(filename)
while True:
char = f.read(1)
if not char :break
process(char)
f.close()
第二种方法避免了重复使用代码(char=f.read(1)),首选
2.按行进行迭代:
f = open(file)
while Ture:
line = f.readline()
if not line: break
process(line)
f.close()
3.先读取所有内容再进行迭代
(1)
f = open(filename)
for char in f.read()
process(char)
f.close()
(2)
f = open(filename)
for char in f.read()
process(char)
f.close()
4.使用fileinput进行懒惰迭代
import fileinput
For line in fileinput(filename)
process(line)
Readlines()和fileinput的区别在于前者先读取文件的所有行而后者是一行一行进行迭代读
5.5. E.迭代文件
eg1:for line in open(filename) //避免使用中间变量,由python自己完成文件的打开和关闭,如果仅仅是读操作,那么就可以不用close操作
eg2: line = list(open(filename)) 将文件的所有行存在list中