前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python对文件内容进行迭代

python对文件内容进行迭代

作者头像
用户8442333
发布2021-12-16 09:01:38
2800
发布2021-12-16 09:01:38
举报
文章被收录于专栏:python知识python知识

1、接字节处理

最常见的对文件内容进行迭代的方法是while循环中使用read方法。例如,对每个字符进行循环,可以用下面方法实现:

代码语言:javascript
复制
f = open(filename)
char = f.read(1)
while char:
    process(char)
    char = f.read(1)
f.close()

read方法返回的字符串会包含一个字符,直到文件末尾,read返回一个空的字符串,char将变为假。

可以看到,char = f.read(1) 被重复地使用,代码重复通过被认为是一件坏事,看看下面的方法:

代码语言:javascript
复制
f = open(filename)

while True:
    char = f.read(1)
    if not char: break
    process(char)
f.close()

这里break语句被频繁的使用(这样会让代码比较难懂),尽管如此,但它仍然要比前面的方法好。

2、读取所有内容

如果文件不是很大,那么可以使用不带参数的read方法一次读取整个文件,或者使用readlines方法。

代码语言:javascript
复制
#用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模块包含了打开文件的函数,,只需要传一个文件名给它

代码语言:javascript
复制
import fileinput
for line in fileinput.input(filename):
    process(line)

4、文件迭代器

好吧!这是python2.2之后才有的方法,如果它一开始就有,上面的方法也许就不存在了。文件对象是可以迭代的,这就意味着可以直接在for循环中对他们进行迭代

代码语言:javascript
复制
f = open(filename)
for line in f:
    process(line)
f.close()

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
作者已关闭评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档