gpt4 book ai didi

python - 读取具有指定换行符的文件

转载 作者:太空狗 更新时间:2023-10-29 17:15:01 26 4
gpt4 key购买 nike

我有一个文件,其中的行使用分隔符分隔,例如 .。我想逐行读取此文件,其中行应基于 . 而不是换行符的存在。

一种方法是:

f = open('file','r')
for line in f.read().strip().split('.'):
#....do some work
f.close()

但是如果我的文件太大,这不是内存效率。我不想一起阅读整个文件,而是想逐行阅读。

open 支持一个参数 'newline' 但这个参数只接受 None, '', '\n', '\r', and '\r\n' 作为提到的输入 here .

有没有什么方法可以基于预先指定的分隔符有效地读取文件行?

最佳答案

你可以使用生成器:

def myreadlines(f, newline):
buf = ""
while True:
while newline in buf:
pos = buf.index(newline)
yield buf[:pos]
buf = buf[pos + len(newline):]
chunk = f.read(4096)
if not chunk:
yield buf
break
buf += chunk

with open('file') as f:
for line in myreadlines(f, "."):
print line

关于python - 读取具有指定换行符的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16260061/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com