如何巧妙地阅读大块的大文件?

2024-04-25 16:47:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个非常大的文件(~10GB),我想完整地阅读它。为了达到这个目的,我把它切成块。然而,我有困难把大文件切割成可剥削的碎片:我希望成千上万的线在一起,而不让它们分裂在中间。我在这里找到了一个函数,所以我安排了一点:

def readPieces(file):
    while True:
        data = file.read(4096).strip()
        if not data:
            break
        yield data

with open('bigfile.txt', 'r') as f:
    for chunk in readPieces(f):
        print(chunk)

我可以指定要读取的字节(这里是4MB),但是当我这样做的时候,我的行会在中间被剪切,如果我删除它,它将读取一个大文件,这将导致进程停止。我该怎么做? 而且,我的文件中的行大小不相等。你知道吗


Tags: 文件函数目的truereaddataifdef