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

yipeiwu_com5年前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和JavaScript间代码转换的4个工具

Python和JavaScript间代码转换的4个工具

选 Python 还是 JavaScript?虽然不少朋友还在争论二者目前谁更强势、谁又拥有着更为光明的发展前景,但毫无疑问,二者的竞争在 Web 前端领域已经拥有明确的答案。立足于浏览...

Python图像处理之图像的读取、显示与保存操作【测试可用】

Python图像处理之图像的读取、显示与保存操作【测试可用】

本文实例讲述了Python图像处理之图像的读取、显示与保存操作。分享给大家供大家参考,具体如下: python作为机器学习和图像处理的利器,收到越来越多的推崇,特别是在图像处理领域,越来...

Python 装饰器@,对函数进行功能扩展操作示例【开闭原则】

本文实例讲述了Python 装饰器@,对函数进行功能扩展操作。分享给大家供大家参考,具体如下: 装饰器可以对原函数进行功能扩展,但还不需要修改原函数的内容(开闭原则),也不需要修改原函数...

Python中staticmethod和classmethod的作用与区别

一般来说,要使用某个类的方法,需要先实例化一个对象再调用方法。 而使用@staticmethod或@classmethod,就可以不需要实例化,直接类名.方法名()来调用。 这有利于组织...

python 基础学习第二弹 类属性和实例属性

复制代码 代码如下: #!/usr/bin/env python class Foo(object): x=1 if __name__=='__main__': foo = Foo()...