码迷,mamicode.com
首页 > 其他好文 > 详细

8、循环体与文件

时间:2015-10-28 22:46:10      阅读:217      评论:0      收藏:0      [点我收藏+]

标签:

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





8、循环体与文件

标签:

原文地址:http://www.cnblogs.com/qxj511/p/4918814.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!