iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >强悍的 Python —— 读取大文件
  • 539
分享到

强悍的 Python —— 读取大文件

强悍大文件Python 2023-01-31 05:01:02 539人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

python 环境下文件的读取问题,请参见拙文 Python 基础 —— 文件 这是一道著名的 Python 面试题,考察的问题是,Python 读取大文件和一般规模的文件时的区别,也即哪些接口不适合读取大文件。 1. rea

python 环境下文件的读取问题,请参见拙文 Python 基础 —— 文件

这是一道著名的 Python 面试题,考察的问题是,Python 读取大文件和一般规模的文件时的区别,也即哪些接口不适合读取大文件。

1. read() 接口的问题

f = open(filename, 'rb')
f.read()

我们来读取 1 个 Nginx 的日至文件,规模为 3Gb 大小。read() 方法执行的操作,是一次性全部读入内存,显然会造成:

MemoryError
...

也即会发生内存溢出。

2. 解决方案:转换接口

  • (1)readlines() :读取全部的行,构成一个 list,实践表明还是会造成内存的问题;

    for line in f.reanlines():
        ...
  • (2)readline():每次读取一行,

    while True:
        line = f.readline()
        if not line:
            break
  • (3)read(1024):重载,指定每次读取的长度

    while True:
        block = f.read(1024)
        if not block:
            break

3. 真正 Pythonic 的方法

真正 Pythonci 的方法,使用 with 结构:

with open(filename, 'rb') as f:
    for line in f:
        <do something with the line>

对可迭代对象 f,进行迭代遍历:for line in f,会自动地使用缓冲io(buffered IO)以及内存管理,而不必担心任何大文件的问题。

There should be one – and preferably only one – obvious way to do it.

Reference

  1. How to read large file, line by line in python

--结束END--

本文标题: 强悍的 Python —— 读取大文件

本文链接: https://www.lsjlt.com/news/188889.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 强悍的 Python —— 读取大文件
    Python 环境下文件的读取问题,请参见拙文 Python 基础 —— 文件 这是一道著名的 Python 面试题,考察的问题是,Python 读取大文件和一般规模的文件时的区别,也即哪些接口不适合读取大文件。 1. rea...
    99+
    2023-01-31
    强悍 大文件 Python
  • Python 读取大文件
    在处理大数据时,有可能会碰到好几个 G 大小的文件。如果通过一些工具(例如:NotePad++)打开它,会发生错误,无法读取任何内容。 那么,在 Python 中,如何快速地读取这些大文件呢? | 版权声明:一去、二三里,未经博...
    99+
    2023-01-31
    大文件 Python
  • python读取大文件
    python读取文件对各列进行索引 可以用readlines, 也可以用readline, 如果是大文件一般就用readlined={} a_in = open("testfile.txt", "r") for line in a_in...
    99+
    2023-01-31
    大文件 python
  • Python读取大文件(GB)
    最近处理文本文档时(文件约2GB大小),出现memoryError错误和文件读取太慢的问题,后来找到了两种比较快Large File Reading 的方法,本文将介绍这两种读取方法。 Preliminary   我们谈到“...
    99+
    2023-01-31
    大文件 Python GB
  • python怎么读取大文件
    这篇文章主要介绍“python怎么读取大文件”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“python怎么读取大文件”文章能帮助大家解决问题。可以通过两种方法利用python读取大文件:第一种是利用...
    99+
    2023-06-30
  • python对大文件的增量读取
    欢迎关注我的豆瓣http://www.douban.com/note/484517776/  对于很多大文件的增量读取,如果遍历每一行比对历史记录的输钱或者全都加载到内存通过历史记录的索引查找,是非常浪费资源的,网上有很多人的技术博客都是写...
    99+
    2023-01-31
    增量 大文件 python
  • 怎么中python读取大文件
    本篇文章为大家展示了怎么中python读取大文件,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。python的五大特点是什么python的五大特点:1.简单易学,开发程序时,专注的是解决问题,而不是搞...
    99+
    2023-06-14
  • python如何流式读取大文件
    这篇文章将为大家详细讲解有关python如何流式读取大文件,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。如何流式读取大文件使用with&hellip;open&hellip;可以从文件中读...
    99+
    2023-06-27
  • python文件的读取
    python文件的读取 1.文件的读取1.read() 读取整个文件2.readline() 每次读取一行文件3. readlines() 读取文件的所有行 2.文件的写入1.以"x"方式...
    99+
    2023-09-01
    python 数据分析 pandas numpy 文件读取
  • Golang文件读取操作:快速读取大文件的技巧
    Golang文件读取操作:快速读取大文件的技巧,需要具体代码示例 在Golang程序设计中,文件读取是一个非常常见的操作。但当需要读取大文件时,通常是一件比较耗费时间和资源的操作。因此,如何快速读取大文件是一...
    99+
    2024-01-19
    大文件 Golang 文件读取
  • 【Python】json文件的读取
    文章目录 1. json简介2.json的使用规范3.json文件的书写4.json文件的读取 1. json简介 JSON(JavaScript Object Notation)是一...
    99+
    2023-10-23
    python json 开发语言
  • Python读取大文件的"坑“与内存占用
    python读写文件的api都很简单,一不留神就容易踩”坑“。笔者记录一次踩坑历程,并且给了一些总结,希望到大家在使用python的过程之中,能够避免一些可能产生隐患的代码。 1.read()与readlines(): 随手搜索pyt...
    99+
    2023-01-30
    大文件 内存 Python
  • 【Python】Python读取CSV文件
    CSV文件是一种常见的数据存储格式,很多人在日常工作中需要使用Python处理CSV文件。Python提供了多种方法来读取CSV文件,包括使用标准库、第三方库和内置函数。本文将介绍多种Python读取...
    99+
    2023-09-12
    python pandas 数据分析
  • python读取table文件
    有个table文件, 有时候需要处理header , 可以用linecache 模块#!/usr/bin/env python # -*- coding: ascii -*- import linecache import fileinpu...
    99+
    2023-01-31
    文件 python table
  • PHP怎么读取大文件
    小编给大家分享一下PHP怎么读取大文件,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!衡量成功唯一能确认我们对代码所做改进是否有效的方式是:衡量一个糟糕的情况,然后...
    99+
    2023-06-15
  • Python文件读取技巧:读取.py文件步骤
    在 python 中读取 .py 文件可以通过两种方法:使用 open() 函数以只读模式打开文件并使用 read() 方法读取内容。使用 pathlib 模块的 path() 对象和 ...
    99+
    2024-04-04
    python 读取.py文件
  • python读取xlsx文件
    我是在win7下读取的。 python版本是:3.5 import xlrd import re import sqlite3 def read_xlsx(): workbook = xlrd.open_workbook('E:...
    99+
    2023-01-31
    文件 python xlsx
  • python读取nc文件
    nc文件的处理方式比较多,可以用MATLAB、JAVA、C、python或者其他的语言。我这两天折腾用python读取nc文件,查阅很多资料,左拼右凑的终于读出来了。 1)Anaconda的安装这里有详细的讲解。搜索“Ancon...
    99+
    2023-01-31
    文件 python nc
  • python读取xml文件
    什么是xml?xml即可扩展标记语言,它可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。abc.xml<xml version="1.0" encoding="utf-8"> <catalo...
    99+
    2023-01-31
    文件 python xml
  • python读取sqlite文件
    import sqlite3 这是python内置的,不需要pip install 包 数据库里面有很多张表 要操作数据库首先要连接conect数据库 mydb=sqlite3.connect("alfw.sqlite") 然后...
    99+
    2023-01-31
    文件 python sqlite
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作