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()方法   while line:       #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") while 1:     lines = f.readlines(10000)     if not lines:         break    for line in lines:         print(line) f.close() | 
一次性读取多行,可以提升读取速度,但内存使用稍大, 可根据情况调整一次读取的行数
方法三:直接for循环
在Python 2.2以后,我们可以直接对一个file对象使用for循环读每行数据
代码如下:
| 
 1 
2 
3 
4 
 | 
#-*- coding: UTF-8 -*-  for line in open("/pythontab/code.txt"):       #print line,  #python2 用法     print(line) | 
方法四:使用fileinput模块
| 
 1 
2 
3 
4 
 | 
import fileinput    for line in fileinput.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字符串. 传递之后 ...