顾名思义,就是通过循环体执行对文件的操作。
1、while
对于文件的读取,使用 read 的话,是一次性全部读取出来,对于特别大的文件的话,那么就可以使用 readline 函数,每次读取一行,返回值是读取到的结果,当全部读取完毕,则返回值为空:
readline([size])-> next line from the file, as a string.
Retain newline. A non-negative size argument limits the maximum
number of bytes to return(an incomplete line may be returned then).
Return an empty string at EO
读取列子:
内容:
ID, name, score
1302303069, qxj511,98.80
1302303070, zhy,99.90
依次读取:
fd = open("qxj511.txt","r+")
print fd.readline()
print fd.readline()
fd.close()
打印:
ID, name, score
1302303069, qxj511,98.80
在一个进程里面的 readline,每次读完一行,打印。再次使用 readline 的时候,就是从上次读取的下一行读取。
逐行读取:
fd = open("qxj511.txt","r")
s = fd.readline() // 读取第一行
while s !="": // 判断读取的结果是否为空
s = s.rstrip("\n") // 删除字符串后面的 \n
print s // 打印字符串
s = fd.readline() // 重新读取一行
fd.close() // 当读取完毕的时候,也就是 readline 返回值为零
2、for
上面完成的是 while 完成文件的读写,现在使用 for
fd = open("qxj511.txt","r")
for st in fd:
print st
fd.close()
使用这个方法也是可以一行行读取并打印文本,这里涉及到迭代器的知识。当存在 for 的时候,那么就会使用 迭代器的 next,每次都可以获得打开文件的一行的数据,当迭代器执行完毕的时候,迭代器就返回异常,这样 for 循环就结束。
时间: 2024-10-11 16:53:48