简单了解Python读取大文件代码实例

yipeiwu_com6年前Python基础

这篇文章主要介绍了简单了解Python读取大文件代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

通常对于大文件读取及处理,不可能直接加载到内存中,因此进行分批次小量读取及处理

I、第一种读取方式

一行一行的读取,速度较慢

def read_line(path):
  with open(path, 'r', encoding='utf-8') as fout:
    line = fout.readline()
    while line:
      line = fout.readline()
      print(line)

II、第二种读取方式

设置每次读取大小,从而完成多行快速读取

def read_size(path):
  with open(path, "r", encoding='utf-8') as fout:
    while 1:
      buffer = fout.read(8 * 1024 * 1024)
      if not buffer:
        break
      print(buffer)

III、第三种读取方式

使用itertools模块,islice返回的是一个生成器,可以用list格式化

from itertools import islice
def read_itertools(path):
  with open(path, 'r', encoding='utf-8') as fout:
    list_gen = islice(fout, 0, 5) # 两个参数分别表示开始行和结束行
    for line in list_gen:
      print(line)

完成

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

pandas 把数据写入txt文件每行固定写入一定数量的值方法

pandas 把数据写入txt文件每行固定写入一定数量的值方法

我遇到的情况是:把数据按一定的时间段提出。比如提出每天6:00-8:00的每个数据,可以这样做: # -*-coding: utf-8 -*- import pandas as pd...

hmac模块生成加入了密钥的消息摘要详解

hmac模块生成加入了密钥的消息摘要详解

hmac模块 hmac模块用于生成HMAC码。这个HMAC码可以用于验证消息的完整性,其原理也很简单,就是一种加入了密钥的消息摘要,相比起MAC更加安全。JWT(JSON Web Tok...

详解Python中的相对导入和绝对导入

前言 Python 相对导入与绝对导入,这两个概念是相对于包内导入而言的。包内导入即是包内的模块导入包内部的模块。 Python import 的搜索路径 在当前目录下搜索该模块...

Python timer定时器两种常用方法解析

这篇文章主要介绍了Python timer定时器两种常用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 方法一,使用线程中现成...

Python3编程实现获取阿里云ECS实例及监控的方法

本文实例讲述了Python3编程实现获取阿里云ECS实例及监控的方法。分享给大家供大家参考,具体如下: #!/usr/bin/env python3.5 # -*- coding:u...