Python按行读取文件的简单实现方法

yipeiwu_com6年前Python基础

1:readline()

file = open("sample.txt") 
while 1:
  line = file.readline()
  if not line:
    break
  pass # do something
file.close()

一行一行得从文件读数据,显然比较慢;

不过很省内存;

测试读10M的sample.txt文件,每秒大约读32000行;

2:fileinput

import fileinput 
for line in fileinput.input("sample.txt"):
  pass

写法简单一些,不过测试以后发现每秒只能读13000行数据,效率比上一种方法慢了两倍多;

3:readlines()

file = open("sample.txt") 
while 1:
  lines = file.readlines(100000)
  if not lines:
    break
  for line in lines:
    pass # do something
file.close()

用同样的数据测试,它每秒可以读96900行数据!效率是第一种方法的3倍,第二种方法的7倍!

4:文件迭代器

每次只读取和显示一行,读取大文件时应该这样:

file = open("sample.txt") 
for line in file:
  pass # do something
file.close()

以上就是小编为大家带来的Python按行读取文件的简单实现方法全部内容了,希望大家多多支持【听图阁-专注于Python设计】~

相关文章

python操作excel的方法(xlsxwriter包的使用)

本文介绍python操作excel的方法(xlsxwriter包的使用),具体内容如下 xlsxwriter包的安装 pip install xlsxwriter Workbook...

python和bash统计CPU利用率的方法

本文实例讲述了python和bash统计CPU利用率的方法。分享给大家供大家参考。具体如下: 开始的时候写了一个 bash 的实现; 因为最近也在学习 python ,所以就尝试着用 p...

python画出三角形外接圆和内切圆的方法

python画出三角形外接圆和内切圆的方法

刚看了《最强大脑》中英对决,其中难度最大的项目需要选手先脑补泰森多边形,再找出完全相同的两个泰森多边形。在惊呆且感叹自身头脑愚笨的同时,不免手痒想要借助电脑弄个图出来看看,闲来无事吹吹牛...

一篇文章搞懂Python的类与对象名称空间

一篇文章搞懂Python的类与对象名称空间

代码块的分类 python中分几种代码块类型,它们都有自己的作用域,或者说名称空间: 文件或模块整体是一个代码块,名称空间为全局范围 函数代码块,名称空间为函数自身范围,是本地作用域,...

Python字符串中添加、插入特定字符的方法

Python字符串中添加、插入特定字符的方法

分析 我们将添加、插入、删除定义为: 添加 : 在字符串的后面或者前面添加字符或者字符串 插入 : 在字符串之间插入特定字符 在Python中,字符串是不可变的。所以无法直接删除、插入...