简单了解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设计】。

相关文章

Python字符串、元组、列表、字典互相转换的方法

废话不多说了,直接给大家贴代码了,代码写的不好还去各位大侠见谅。 #-*-coding:utf-8-*- #1、字典 dict = {'name': 'Zara', 'age':...

Python的缺点和劣势分析

Python的短板 虽然Python拥有很多优点,但没有哪种编程语言能够胜任所有工 作,因此Python并不能完美地满足一切需求。如果要确定Python是否适 用于当前场景,还需要了解...

Python设计模式之建造者模式实例详解

Python设计模式之建造者模式实例详解

本文实例讲述了Python设计模式之建造者模式。分享给大家供大家参考,具体如下: 建造者模式(Builder Pattern):将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以...

python使用正则表达式的search()函数实现指定位置搜索功能

前面学习过search()可以从任意一个文本里搜索匹配的字符串,也就是说可以从任何位置里搜索到匹配的字符串。但是现实世界很复杂多变的,比如限定你只能从第100个字符的位置开始匹配,100...

python中将\\uxxxx转换为Unicode字符串的方法

今天碰到一个很有意思的问题,需要将普通的 Unicode字符串转换为 Unicode编码的字符串,如下: 将 \\u9500\\u552e 转化为 \u9500\u552e 也就是 销售...