美文网首页
Python:使用生成器阅读超大文件

Python:使用生成器阅读超大文件

作者: dex0423 | 来源:发表于2020-07-26 01:35 被阅读0次
def readmylines(f,mewline):
    buf = ""
    while True:
        while newline in buf:
            pos = buf.index(newline)#找到字符的位置
            yield buf[:pos]
            buf = buf[pos+len(newline):]
        chunk = f.read(4096*5)#读取相应的字符长度
        if not chunk:
            #说明已经读到文件结尾
            yield buf
            break
        buf += chunk

with open("file_name.txt")as f:
    #假设以 \n 分割行
    for line in readmylines(f, '\n'):
        print(line)

相关文章

网友评论

      本文标题:Python:使用生成器阅读超大文件

      本文链接:https://www.haomeiwen.com/subject/uqqblktx.html