python快速读取非常大的文件
发布日期:2021-06-29 16:00:37 浏览次数:2 分类:技术文章

本文共 641 字,大约阅读时间需要 2 分钟。

读取大文件是我们平时经常会遇到的问题,我这里给出两个比较好的解决方案。第一种

with open("test.txt") as f:    for line in f:        #do something with data

这种做法非常的简单。这个代码在打开文件的过程中,不会一次性读取全部文件,而是采用每次读取一行的方式,类似于buffer机制。

当然我们也可以自己去实现一个buffer,然后通过协程的方式操作

def readInChunks(fileObj, chunkSize=4096):    """    Lazy function to read a file piece by piece.    Default chunk size: 4kB.    """    while 1:        data = fileObj.read(chunkSize)        if not data:            break        yield dataf = open('bigFile')for chuck in readInChunks(f):    #do_something(chunk)f.close()

这段代码中我们通过每次读取4k大小的数据,将所有文件读取完。

我对于一个3GB大小的数据进行了读取测试,分别用时如下:

28.54150631145376 s28.522545760074877 s

两者所用时间差不多。

转载地址:https://coordinate.blog.csdn.net/article/details/80212131 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:python递归解析JSON(目前最好的方案)
下一篇:寻找数组中第n大的元素

发表评论

最新留言

哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年04月20日 08时50分04秒