博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ZH奶酪:Python按行读取文件
阅读量:4361 次
发布时间:2019-06-07

本文共 706 字,大约阅读时间需要 2 分钟。

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()

转载于:https://www.cnblogs.com/CheeseZH/p/4651360.html

你可能感兴趣的文章
Uri、URL和URN三者的区别
查看>>
数据字典的转换
查看>>
单例对象的创建与销毁
查看>>
知识点关键词(记录一下)
查看>>
国际结算业务
查看>>
嵌套循环概念
查看>>
ASP.NET MVC Model绑定(二)
查看>>
一步一步写算法(之hash表)
查看>>
漫谈并发编程(一) - 并发简单介绍
查看>>
JDBC连接MySQL数据库及演示样例
查看>>
Beta 冲刺(1/7)
查看>>
修改 Vultr 登录密码
查看>>
CSS学习
查看>>
Centos 安装lnmp完整版
查看>>
【转】Eclipse和PyDev搭建完美Python开发环境(Ubuntu篇)
查看>>
Differences between page and segment
查看>>
字符串之strcmp
查看>>
最长公共子序列(不连续)
查看>>
微服务:Java EE的拯救者还是掘墓人?
查看>>
如何在Centos里面,把.net core程序设为开机自启动
查看>>