1 with open('a.csv','r') as f:
 2 #1
 3     for i in f:
 4         print(i)
 5 #2
 6     while True:
 7         a = f.readline()
 8         if not a:
 9             break
10 #3
11     f.readlines()                

用with语句打开文件返回一个可以迭代的文件对象绑定在as后的变量f;

第一种:直接遍历文件对象,会自动使用IO缓存和内存管理,是一种很好的方法;

第二种:调用readline()方法,一次读取一行,也不会占用太大内存,但代码显得臃肿,而且,虽然readline()方法是用C实现的,但相比于1的直接操作文件对象,速度上并没有明显的提升;

第三种:调用readlines()方法,返回的是一个包含所有文件元素的列表,如果文件很大(1个G),那就很占用内存,所以大文件情况下,最不推荐这种方法。

综上:推荐第一种写法,即直接遍历文件对象。

另外,还可以用pandas提供的分块读取功能,下一篇详细介绍。

转载于:https://www.cnblogs.com/chaofan-/p/8819147.html

python如何打开一个大文件?相关推荐

  1. python读取大文件-python快速读取一个大文件内容(瞎猜)

    问题: python有没有一种方法是比简单的readlines()方法更快的方式去读取单个文件,比如,一个从头读文件,一个从尾部读文件,再或者预先将一个文件的行索引分成几个部分来读(文件行内容的操作顺 ...

  2. python 数组写txt_python打开一个txt文件的具体代码

    python如何打开一个txt文件 文件的打开的两种方式 f = open("data.txt","r") #设置文件对象 f.close() #关闭文件 #为 ...

  3. python实现语音播放_python通过wxPython打开一个音频文件并播放的方法

    本文实例讲述了python通过wxPython打开一个音频文件并播放的方法.分享给大家供大家参考.具体如下: 这段代码片段使用wx.lib.filebrowsebutton.FileBrowseBut ...

  4. 如何使用Python打开一个TXT文件

    如何使用Python打开一个TXT文件 1 相对路径 首先需要找到当前工作路径,使用以下代码: import os f=os.getcwd() print(f) 将需要打开的TXT文件放入刚才找到的同 ...

  5. 用python 打开一个excel文件

    题目:用python 打开一个xls文件 import xlrd #打开xls文件 data1 = xlrd.open_workbook(r'C:\\Users\\Administrator\\Des ...

  6. Python创建并且打开一个mat文件

    import scipy.io as sio #创建一个mat文件 x = [1, 2, 3] y = [4, 5, 6] z = [7, 8, 9] sio.savemat('saveddata.m ...

  7. Python——生成一个大文件ips.txt,要求1200行 ,每行随机为172.25.254.0/24段的ip(京东二面笔试题)

    代码块: from collections import Iterable f = open('/tmp/passwd') print(isinstance(f,Iterable)) for i,it ...

  8. Facebook图片存储系统Haystack——存小文件,本质上是将多个小文件合并为一个大文件来降低io次数,meta data里存偏移量...

    转自:http://yanyiwu.com/work/2015/01/04/Haystack.html 一篇14页的论文Facebook-Haystack, 看完之后我的印象里就四句话: 因为[传统文 ...

  9. python如何打开一个xlsx用列表的格式写入数据

    以下代码有什么bug self.fp = open(f'./{file_name}.xlsx', 'w', encoding='utf-8'),python如何打开一个xlsx用列表的格式写入数据 以 ...

最新文章

  1. 嵌入式系统自动使能alias
  2. 【cocos2d-x从c++到js】21:使用CocosCode调试JSB
  3. 信度效度难度区分度是什么意思_高考试题的效度信度区分度难度什么意思?
  4. Java SE 6之GUI:让界面更加绚丽(上)
  5. 画Series的散点图
  6. Android --- View.inflate()的详细介绍
  7. 控件 qml_Flat风格的Qml进度条
  8. linux命令行sip电话,基于Linux和MiniGUI的SIP电话终端设计
  9. Spring Boot----Dubbo
  10. 特岗计算机专业知识考试考什么,特岗教师考试笔试内容是什么 应该怎样复习...
  11. 子盒子width为父盒子width的百分比注意
  12. java 容器(联系数据结构)
  13. 如何获得学生版本的免费eviews9
  14. 【实战】如何通过html+css+mysql+php来快速的制作动态网页(以制作一个博客网站为列)
  15. 复变函数在计算机科学中的应用,复变函数的应用以及发展史.doc
  16. 2022广深Java中小厂面试记录
  17. UPUPOO返回码格式!!!
  18. 主题 02:如何设计系统预案(Preplan)?
  19. Python 豆瓣网的全自动登录(豆瓣验证码自动识别)
  20. 如何权衡实习转正和秋招?我想给你这几条建议

热门文章

  1. Plasma链0x1的构造
  2. Xposed简介以及小米去桌面广告的简单实现
  3. 移动端https抓包那些事--初级篇
  4. JZOJ 5662. 【GDOI2018Day1模拟4.17】尺树寸泓
  5. php将pdf文件存入数据库,关于tcpdf:在我的php数据库中制作pdf文件
  6. c语言编程矩阵主对角线相同,急求!c语言 求N*N矩阵中主对角线和次对角线的元素之和...
  7. SQLite自增关键字报错(near “AUTO_INCREMENT“: syntax error)
  8. 容器必须设置宽度吗_UI设计必须要具备的前端知识
  9. 三因素三水平正交表l9_影响多腔导管挤出机头设计的关键因素
  10. 详细设计 存储分配_万字长文:云架构设计原则(一)