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

yipeiwu_com7年前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设计】。

相关文章

Python使用pickle模块存储数据报错解决示例代码

本文研究的主要是Python使用pickle模块存储数据报错解决方法,以代码的形式展示,具体如下。 首先来了解下pickle模块 pickle提供了一个简单的持久化功能。可以将对象...

Python实现简单的多任务mysql转xml的方法

本文实例讲述了Python实现简单的多任务mysql转xml的方法。分享给大家供大家参考,具体如下: 为了需求导出的格式尽量和navicat导出的xml一致。 用的gevent,文件i/...

python中__call__方法示例分析

本文实例讲述了python中__call__方法的用法,分享给大家供大家参考。具体方法分析如下: Python中的__call__允许程序员创建可调用的对象(实例),默认情况下, __c...

python 信息同时输出到控制台与文件的实例讲解

python编程中,往往需要将结果用print等输出,如果希望输出既可以显示到IDE的屏幕上,也能存到文件中(如txt)中,该怎么办呢? 方法1 可通过日志logging模块输出信息到文...

Django Celery异步任务队列的实现

背景 在开发中,我们常常会遇到一些耗时任务,举个例子: 上传并解析一个 1w 条数据的 Excel 文件,最后持久化至数据库。 在我的程序中,这个任务耗时大约 6s,对于用户来说,...