Python中read()、readline()和readlines()三者间的区别和用法

众所周知在python中读取文件常用的三种方法:read(),readline(),readlines(),今天看项目是又忘记他们的区别了。以前看书的时候觉得这东西很简单,一眼扫过,待到用时却也只知道有这么几个方法,不懂得它的原理与用法。也许吧,没有永远的记忆,况且根本没有用心去记它。话不多说,来一起看看详细的介绍:

假设a.txt

一、read([size])方法

read([size])方法从文件当前位置起读取size个字节,若无参数size,则表示读取至文件结束为止,它范围为字符串对象

f = open("a.txt")lines = f.read()print linesprint(type(lines))f.close()

输出结果:

HelloWelcomeWhat is the fuck...<type 'str'> #字符串类型

二、readline()方法

从字面意思可以看出,该方法每次读出一行内容,所以,读取时占用内存小,比较适合大文件,该方法返回一个字符串对象。

?
1
2
3
4
5
6
7
f = open("a.txt")
line = f.readline()
print(type(line))
while line:
 print line,
 line = f.readline()
f.close()

输出结果:

<type 'str'>HelloWelcomeWhat is the fuck...

三、readlines()方法读取整个文件所有行,保存在一个列表(list)变量中,每行作为一个元素,但读取大文件会比较占内存

f = open("a.txt")lines = f.readlines()print(type(lines))for line in lines: print line,f.close()

输出结果:

1 <type 'list'>2 Hello3 Welcome4 What is the fuck...

四、linecache模块

当然,有特殊需求还可以用linecache模块,比如你要输出某个文件的第n行:

?
1
2
3
# 输出第2行
text = linecache.getline(‘a.txt',2)
print text,

 

(0)

相关推荐

  • 第95天:StringIO & BytesIO

    上一篇中我们介绍了文件的基本读写操作,但是很多时候数据的读写并不一定都是在文件中,我们也可以在内存中读写数据,因此引出我们今天的主要内容,即 StringIO 和 BytesIO,让你学会在内存中进行 ...

  • 第15天:Python 输入输出

    在前几篇文章中,我们其实已经接触了 Python 的输入输出功能,本篇文章中我们再来详细学习一下. 1 格式化输出 Python 输出值的方式有两种:表达式语句和 print 函数(文件对象的输出使用 ...

  • 第15关精华笔记

    第15关精华笔记pdf版--同学记得打开电脑浏览器下载哦!  副本_第15关精华笔记.pdf 0.4MB  什么是编码? 计算机只认识0和1,为了更好的交流,这种从人类语言到计算机语言转换的形式, ...

  • python中read() readline()以及readlines()对比(转)

    该篇文章主要是记录python中操作文件的三个函数read(),readline()以及readlines()之间的区别. 首先先给出结论: .read() 每次读取整个文件,它通常将读取到底文件内容 ...

  • 不要就知道吃,你知道章鱼、乌贼、鱿鱼三者间的区别吗?

    提起章鱼.鱿鱼.乌贼这三种生物,很多人其实都是分不清楚的,吃海鲜的时候自己吃得到底是哪一种生物,只怕多数看官的心里也都没底.那么,这三种生物到底有哪些区别呢?今天咱们就来抽丝剥茧解析一下. 章鱼乌贼鱿 ...

  • 你知道贯标、知识产权贯标及ISO体系三者间的区别?泉州万通

    贯标是什么意思?贯标等于知识产权贯标吗? 从广义上来说,贯标是指贯彻质量管理体系.环境管理体系.职业健康安全管理体系等标准.从狭义上来讲,是指企业知识产权贯标,即贯彻<企业知识产权管理规范> ...

  • Python中read、readline和readlines的区别?

    公众号新增加了一个栏目,就是每天给大家解答一道Python常见的面试题,反正每天不贪多,一天一题,正好合适,只希望这个面试栏目,给那些正在准备面试的同学,提供一点点帮助! 小猿会从最基础的面试题开始, ...

  • Python中read()、readline()和readlines()的用法简单案例

    首先我们先建立一个测试文件,test.txt 1.read() 用法: 从文件当前位置起读取size个字节,若无参数size,则表示读取至文件结束为止,它范围为字符串对象. # 打开含中文的文本 fi ...

  • 从卫星上看,中日韩三国的夜景,才发现三者间的差距有多大

    中国.日本.韩国是亚洲的三大国家,是经济强国,也都是东亚国家.但是却有很多人说中国的发展和日韩存在着一定差距,甚至还总是拿出数据来证明.那么今天咱们就从卫星上看,中日韩三国的夜景,就知道了三者之间的差 ...

  • python文件读read()、readline()、readlines()对比

    目录 一.read方法 二.readline方法 三.readlines方法 正文 读取文件的三个方法:read().readline().readlines().均可接受一个变量用以限制每次读取的数 ...

  • Python 中的函数装饰器和闭包

    函数装饰器可以被用于增强方法的某些行为,如果想自己实现装饰器,则必须了解闭包的概念. 装饰器的基本概念 装饰器是一个可调用对象,它的参数是另一个函数,称为被装饰函数.装饰器可以修改这个函数再将其返回, ...

  • Python中tuple和list的区别?基础学习!

    想必大家都知道,Python数据类型有很多种,其中有两个对象的写法非常相似,它就是tuple元组和list列表,让人傻傻分不清楚.那么你知道Python中tuple和list有什么区别吗?我们来看看具 ...