pyhon读取文件很方便,但是,如果文件很大,而且还是一行文件,那就蛋疼了. 不过还好有read(size)方法,这个方法就是每次读取size大小的数据到内存中

下面来个示例

def readlines(f, separator):

'''

读取大文件方法

:param f: 文件句柄

:param separator: 每一行的分隔符

:return:

'''

buf = ''

while True:

while separator in buf:

position = buf.index(separator) # 分隔符的位置

yield buf[:position] # 切片, 从开始位置到分隔符位置

buf = buf[position + len(separator):] # 再切片,将yield的数据切掉,保留剩下的数据

chunk = f.read(4096) # 一次读取4096的数据到buf中

if not chunk: # 如果没有读到数据

yield buf # 返回buf中的数据

break # 结束

buf += chunk # 如果read有数据 ,将read到的数据加入到buf中

with open('text.txt',encoding='utf-8') as f:

for line in readlines(f,'|||'):

# 为什么readlines函数能够使用for循环遍历呢, 因为这个函数里面有yield关键字呀, 有它就是一个生成器函数 ......

print(line)

测试文件text.txt

fgshfsljflsjfls|||fyhdiyfdfhn|||fudofdb钦铁杆jdlfdl|||tedsthfdskfdk

打印结果

fgshfsljflsjfls

fyhdiyfdfhn

fudofdb钦铁杆jdlfdl

tedsthfdskfdk

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

python文件读取方法read(size)的含义是_Python基于read(size)方法读取超大文件相关推荐

  1. python文件读取方法read(size)的含义是_Python file read()方法

    在计算机中,文件包括了文档.图片.视频.程序组件等,每个类型的文件都有不同的作用或功用.例如一个程序通常由主程序.动态库.配置文件等组成,这些也是文件,起到支持程序运行的作用.想要使用文件,第一个操作 ...

  2. python csv使用_Python基于csv模块实现读取与写入csv数据的方法

    本文实例讲述了Python基于csv模块实现读取与写入csv数据的方法.分享给大家供大家参考,具体如下: 通过csv模块可以轻松读取格式为csv的文件,而且csv模块是python内置的,不需要下载就 ...

  3. 基于RxJava2.0+Retrofit2.0超大文件分块(分片)上传(带进度)

    当上传文件过大时,直接上传会增加服务器负载,负载过高会导致机器无法处理其他请求及操作,甚至导致宕机,这时分块上传是最佳选择.本次简单介绍两种分块上传文件方案(暂不考虑文件安全相关问题,如签名): 方案 ...

  4. python定义一个student类、有下面的_Python的类和方法——成员可见性

    我们继续接着类和对象这个话题聊. 1.类方法 使用装饰器@classmethod.第一参数必须是当前类对象,该参数名一般约定为「cls」,当然cls也可以换成其他名字,通过它来传递类的属性和方法(不能 ...

  5. java写大文件_java实现超大文件的读写功能

    对于几百M或上G的大文件可使用java nio进行读写 , 根据个人的需求 可能需要将一个超大文件读写形成很多较小的文件进行分析,这也不是什么难事,在读完一个缓冲区后 更换写入的对象即可,本文就不做详 ...

  6. 基于大数据方法的经济研究:前沿进展与研究综述 | 特别推荐

    基于大数据方法的经济研究:前沿进展与研究综述 李华杰 史丹 马丽梅 摘要: 随着数据挖掘和分析技术的不断提高,基于大数据方法对经济的研究日益增多,大数据对经济研究和应用具有重要的现实意义.本文梳理了近 ...

  7. python文件分块读取_Python多进程分块读取超大文件的方法

    本文实例讲述了Python多进程分块读取超大文件的方法.分享给大家供大家参考,具体如下: 读取超大的文本文件,使用多进程分块读取,将每一块单独输出成文件 # -*- coding: GBK -*- i ...

  8. python读取文件按行分割字符串_python在TXT文件中按照某一字符串取出该字符串所在的行方法...

    python在TXT文件中按照某一字符串取出该字符串所在的行方法 主要流程:读取文件数据--将每一行数据分成不同的字符段--在判断 在某个字否段是否含与某个字符.(只是其中一种办法) 代码如下: wi ...

  9. python获取pdf页数_Python分割指定页数的pdf文件方法

    Python分割指定页数的pdf文件方法 如下所示: from PyPDF2 import PdfFileWriter, PdfFileReader # 开始页 start_page = 0 # 截止 ...

最新文章

  1. uiswitchbutton 点击不改变状态_Redux 包教包会(一):解救 React 状态危机
  2. Latex 数学符号表
  3. 怎样一步一步删除(linux amp; UNIX)环境下 oracle 11g 集群节点
  4. 通过组策略找回“网上邻居”
  5. 【剑指offer - C++/Java】5、用两个栈实现队列
  6. 如何搭建一个完整的Vue3.0 + ts 的项目
  7. TK8亮度蒙版PS插件:TKactions V8 for Mac 兼容ps2021
  8. Kubernetes教程 - Kubernetes综合指南(Use Guide)
  9. 利用奇异值产生脆弱水印应用于检测、定位、恢复文章总结
  10. wps电脑版_WPS和MS Office的一个重要区别
  11. PHP中时间戳和时区
  12. 汽车电子产品EMC测试项目、测试标准
  13. ➤mobi➢azw3➢epub⇨电子书阅读器 转换器
  14. 计算机应用202001常规,2001年4月份全国高等教育自学考试计算机应用基础试题
  15. OSI参考模型与TCP/IP模型
  16. github+hexo+butterfly 搭建个人博客
  17. Rabbit MQ安装和基本概念
  18. LeetCode114--词典中最长的单词、最短补全词、宝石与石头
  19. java partial class_easymock教程-partial class mocking
  20. 教授专栏17 | 许佳龙:银行查找网安漏洞 提高公众风险意识

热门文章

  1. PAT_A1148#Werewolf - Simple Version
  2. 放弃OpenStack?恐怕还不到时候
  3. 团队作业6—《Spring_Four》团队项目系统设计改进与详细设计
  4. Linux中netfilter模块编程实践
  5. CIO黄嘉粤谈互联网金融与CIO发展
  6. javascript正则表达式小结
  7. Lucene教程具体解释
  8. 个人在iOS开发过程中真机调试遇到的问题及解决方法
  9. Silverlight 4正式版发布
  10. 眼球网站经济学之我见——在网站上建立现代的经济体系