Python按行读取大文件

系统 1112 0

在工作中遇到一个需求,需要用Python脚本读取一个13G的文件,把每行的记录写入redis。由于机器的内存只有8G,所以不能一次将磁盘上的文件全部读入内存,需要一行一行读取文件。

Python按行读取文件主要是使用file.readline方法或者利用file对象的迭代器性质,而file.readlines方法则是一次把所有内容从磁盘读入内存。当内存足够时,file.readlines方法显然会更快,因为磁盘I/O次数更少。

下面给出了三种遍历文件每行的方式:

            
              if __name__ == '__main__':
    # Method 1: 通过readlines方法一次把整个文件从磁盘读入内存,在内存中遍历各行    
    with open('test.txt', 'r') as file:
        lines = file.readlines()
        for line in lines:
            print(line)
            
    # Method 3:通过readline方法一次将文件的一行读入内存
    with open('test.txt', 'r') as file:
        while True:
            line = file.readline()
            if line:
                print(line)
            else:
                break
            
    # Method 2: 通过迭代器访问文件对象,每次将文件的一行从磁盘读入内存
    file = open('test.txt', 'r')
    for line in file:
        print(line)
    file.close()
            
          

 


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论