python中文件的迭代操作

文件的迭代相当于对文件中的内容进行遍历和操作:
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中

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、基础知识:1、JVM、JRE和JDK的区别:JVM(Java Virtual Machine):java虚拟机...
    杀小贼阅读 2,410评论 0 4
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,908评论 18 139
  • 1.创建文件夹 !/bin/sh mkdir -m 777 "%%1" 2.创建文件 !/bin/sh touch...
    BigJeffWang阅读 10,186评论 3 53
  • 早上在地铁看朱光潜先生的《给青年的十二封信》,读到第三封信时,老先生又引了朱子的同一首诗:半亩方塘一鉴开,天光云影...
    颜先生阅读 346评论 0 2
  • 今天的我对一个特别的人做了一件特别的事,今天,即使处在最黑暗的处境中,因为做了这件特别的事,之后,我和这个特别的人...
    梦影3阅读 375评论 2 3