python文件逐行读取四种方法
下面是四种Python逐行读取文件内容的方法, 并分析了各种方法的优缺点及应用场景,以下代码在python3中测试通过, python2中运行部分代码已注释,稍加修改即可。
方法一:readline函数
| 1 2 3 4 5 6 7 8 | #-*- coding: UTF-8 -*-  f =open("/pythontab/code.txt")             # 返回一个文件对象   line =f.readline()             # 调用文件的 readline()方法   whileline:       #print line,                 # 在 Python 2中,后面跟 ',' 将忽略换行符       print(line, end ='')       # 在 Python 3中使用     line =f.readline() f.close() | 
优点:节省内存,不需要一次性把文件内容放入内存中
缺点:速度相对较慢
方法二:一次读取多行数据
代码如下:
| 1 2 3 4 5 6 7 8 9 | #-*- coding: UTF-8 -*-  f =open("/pythontab/code.txt") while1:     lines =f.readlines(10000)     ifnotlines:         break    forline inlines:         print(line) f.close() | 
一次性读取多行,可以提升读取速度,但内存使用稍大, 可根据情况调整一次读取的行数
方法三:直接for循环
在Python 2.2以后,我们可以直接对一个file对象使用for循环读每行数据
代码如下:
| 1 2 3 4 | #-*- coding: UTF-8 -*-  forline inopen("/pythontab/code.txt"):       #print line,  #python2 用法     print(line) | 
方法四:使用fileinput模块
| 1 2 3 4 | importfileinput   forline infileinput.input("/pythontab/code.txt"):     print(line) | 
使用简单, 但速度较慢
python文件逐行读取四种方法的更多相关文章
- Python遍历List集合四种方法
		这篇文章主要介绍了Python 列表(List) 的四种遍历方法实例 详解的相关资料,需要的朋友可以参考下 分别是:直接遍历对象 通过索引遍历 通过enumerate方法 通过iter方法. 使用Py ... 
- Java获取文件Content-Type的四种方法
		HTTP Content-Type在线工具 有时候我们需要获取本地文件的Content-Type,已知 Jdk 自带了三种方式来获取文件类型. 另外还有第三方包 Magic 也提供了API.Magic ... 
- Golang简单写文件操作的四种方法
		package main import ( "bufio" //缓存IO "fmt" "io" "io/ioutil" ... 
- Python执行系统命令的四种方法
		一.os.system方法 在子终端运行系统命令,可以获取命令执行后的返回信息以及执行返回的状态.执行后返回两行结果,第一行是结果, 第二行是执行状态信息,如果命令成功执行,这条语句返回0,否则返回1 ... 
- Python—执行系统命令的四种方法
		一.os.system方法 这个方法是直接调用标准C的system() 函数,仅仅在一个子终端运行系统命令,而不能获取命令执行后的返回信息. os.system(cmd)的返回值.如果执行成功,那么会 ... 
- Python变量状态保持四种方法
		Python状态保持  全局 global def tester(start): global state state = start def nested(label): global state ... 
- 【划重点】Python遍历列表的四种方法
		一.通过for循环直接遍历 user1 = ["宋江","林冲","卢俊义","吴用"] for user in use ... 
- 总结java创建文件夹的4种方法及其优缺点-JAVA IO基础总结第三篇
		本文是Java IO总结系列篇的第3篇,前篇的访问地址如下: 总结java中创建并写文件的5种方式-JAVA IO基础总结第一篇 总结java从文件中读取数据的6种方法-JAVA IO基础总结第二篇 ... 
- 在 Mac OS X Lion 下修改 Hosts 的四种方法
		一名刚刚使用 Mac OS X Lion 系统的朋友问我怎么该系统下修改 Hosts 文件,说网上搜了很多办法都不管用,只要编辑 Hosts 文件就出现”你不是文件 hosts 的所有者,因此没有权限 ... 
随机推荐
- Android学习之基础知识四-Activity活动2讲
			一.在活动(activity)中添加Toast显示: 1.Toast作用:Android系统提供的一种非常好的提醒方式,将一些短小的信息提供给用户,这些信息会在一段时间后自动消失,不会占用任何屏幕空间 ... 
- JAVA体系的线程的实现,线程的调度,状态的转换
			java体系中线程的实现 1.使用内核线程实现 内核线程就是直接由操作系统内核支持的线程,这种线程由内核来完成线程切换,内核通过操作调度器对线程进行调度,并负责将线程的任务映射到各个处理器上,每个内核 ... 
- 7、存储类 & 作用域 & 生命周期 & 链接属性
			概念解析 存储类 存储类就是存储类型,也就是描述C语言变量在何种地方存储. 内存有多种管理方法:栈.堆.数据段.bss段..text段······一个变量的存储类属性就是描述这个变量存储在何种内存段中 ... 
- 【转】Java生成图片验证码
			原文转自:http://blog.csdn.net/ruixue0117/article/details/22829557 看了挺多图片验证码的代码,感觉没什么长的好看点的,就自己动手写了个,写完发现 ... 
- 前端知识点总结(html+css)部分
			HTML 1.一套规则,浏览器认识的规则. 2.开发者: 学习Html规则 开发后台程序: - 写Html文件(充当模板的作用) ****** - 数据库获取数据,然后替换到html文件的指定位置(W ... 
- Luogu3613 睡觉困难综合征/BZOJ4811 Ynoi2017 由乃的OJ 树链剖分、贪心
			传送门 题意:给出一个$N$个点的树,树上每个点有一个位运算符号和一个数值.需要支持以下操作:修改一个点的位运算符号和数值,或者给出两个点$x,y$并给出一个上界$a$,可以选取一个$[0,a]$内的 ... 
- [Spark][Python]DataFrame select 操作例子II
			[Spark][Python]DataFrame中取出有限个记录的 继续 In [4]: peopleDF.select("age","name") In ... 
- 面试4——java进程和线程相关知识
			1.线程和进程的概念.并行和并发的概念 
- ML.NET 示例:多类分类之问题分类
			写在前面 准备近期将微软的machinelearning-samples翻译成中文,水平有限,如有错漏,请大家多多指正. 如果有朋友对此感兴趣,可以加入我:https://github.com/fei ... 
- 用JS制作一个信息管理平台(1)
			首先,介绍一些需要用到的基本知识. [JSON] JSON是数据交互中,最常用的一种数据格式. 由于各种语言的语法都不相同,在传递数据时,可以将自己语言中的数组.对象等转换为JSON字符串. 传递之后 ... 
