最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

关于Python读取文件的四种不同方法的比较

来源:动视网 责编:小采 时间:2020-11-27 14:24:14
文档

关于Python读取文件的四种不同方法的比较

关于Python读取文件的四种不同方法的比较:Python的文本处理是经常碰到的一个问题,下面这篇文章主要给大家介绍了关于Python读取文件的几种不同方法比对的相关资料,文中给出了详细的示例代码供大家理解和学习,需要的朋友们下面来一起看看吧。前言大家都知道Python 读文件的方式多种多样,但是当需要
推荐度:
导读关于Python读取文件的四种不同方法的比较:Python的文本处理是经常碰到的一个问题,下面这篇文章主要给大家介绍了关于Python读取文件的几种不同方法比对的相关资料,文中给出了详细的示例代码供大家理解和学习,需要的朋友们下面来一起看看吧。前言大家都知道Python 读文件的方式多种多样,但是当需要


Python的文本处理是经常碰到的一个问题,下面这篇文章主要给大家介绍了关于Python读取文件的几种不同方法比对的相关资料,文中给出了详细的示例代码供大家理解和学习,需要的朋友们下面来一起看看吧。

前言

大家都知道Python 读文件的方式多种多样,但是当需要读取一个大文件的时候,不同的读取方式会有不一样的效果。下面就来看看详细的介绍吧。

场景

逐行读取一个 2.9G 的大文件

  • CPU i7 6820HQ

  • RAM 32G

  • 方法

    对每一行的读取进行一次分割字符串操作

    以下方法都使用 with…as 方法打开文件。

    with 语句适用于对资源进行访问的场合,确保不管使用过程中是否发生异常都会执行必要的“清理”操作,释放资源,比如文件使用后自动关闭、线程中锁的自动获取和释放等。

    方法一 最通用的读文件方式

    with open(file, 'r') as fh:
     for line in fh.readlines():
     line.split("|")

    运行结果: 耗时 15.4346568584 秒

    系统监视器中显示内存从 4.8G 一下子飙到了 8.4G, fh.readlines() 将读取的所有行数据存到内存,这种方法适合小文件。

    方法二

    with open(file, 'r') as fh:
     line = fh.readline()
     while line:
     line.split("|")

    运行结果: 耗时 22.3531990051 秒

    内存几乎没有变化,因为内存中只存取一行的数据,但是时间明显比上一次的长,对于进一步处理数据来说效率不高。

    方法三

    with open(file) as fh:
     for line in fh:
     line.split("|")

    运行结果: 耗时 13.9956979752 秒

    内存几乎没有变化,速度也比方法二快。

    for line in fh 将文件对象 fh 视为可迭代的,它自动使用缓冲的 IO 和内存管理,因此您不必担心大文件。这是很 pythonic 的方式!

    方法四 fileinput 模块

    for line in fileinput.input(file):
     line.split("|")

    运行结果: 耗时 26.1103110313 秒

    内存增加了 200-300 MB,速度是以上最慢的。

    总结

    以上方法仅供参考,公认的大文件读取方法还是三最好。但是具体情况还是要根据机器的性能、处理数据的复杂度。

    【相关推荐】

    1. Python读取文件后n行的代码示例

    2. 使用python读取文件小程序

    文档

    关于Python读取文件的四种不同方法的比较

    关于Python读取文件的四种不同方法的比较:Python的文本处理是经常碰到的一个问题,下面这篇文章主要给大家介绍了关于Python读取文件的几种不同方法比对的相关资料,文中给出了详细的示例代码供大家理解和学习,需要的朋友们下面来一起看看吧。前言大家都知道Python 读文件的方式多种多样,但是当需要
    推荐度:
    标签: 文件 方法 区别
    • 热门焦点

    最新推荐

    猜你喜欢

    热门推荐

    专题
    Top