python中read,readline,和readlines的区别 并逐行输出

python中有神奇的三种读操作:read、readline和readlines

read() ?: 一次性读取整个文件内容。推荐使用read(size)方法,size越大运行时间越长

readline() ?:每次读取一行内容。内存不够时使用,一般不太用

readlines() ? :一次性读取整个文件内容,并按行返回到list,方便我们遍历

下面看代码:

#!/usr/bin/python
# -*- coding: utf-8 -*-
import linecache

f = open("a.txt")
lines = f.read()
print lines
#for i in lines:
#    print i
#    print "==="
print (type(lines))
f.close()
print 35*"="

fr = open("a.txt")
r = fr.readline()
print(type(r))
#print r
while r:
    print r,
    r = fr.readline()
    print "rrr=",r

fr.close()

print 35*"="

frs = open("a.txt")
rls = frs.readlines()
print(type(rls))
print rls
for i in rls:
    print i,
frs.close()

# 直接输出第二行
test2 = linecache.getline("a.txt", 2)
print ""
print 35*"="
print test2

运行结果如下:

weiruoyu
wangxitong
weironghan
weixi
tiantiankaixin
<type ‘str‘>
===================================
<type ‘str‘>
weiruoyu
rrr= wangxitong

wangxitong
rrr= weironghan

weironghan
rrr= weixi

weixi
rrr= tiantiankaixin
tiantiankaixin rrr=
===================================
<type ‘list‘>
[‘weiruoyu\n‘, ‘wangxitong\n‘, ‘weironghan\n‘, ‘weixi\n‘, ‘tiantiankaixin‘]
weiruoyu
wangxitong
weironghan
weixi
tiantiankaixin
===================================
wangxitong

参考了其他的文章:
https://www.cnblogs.com/yun1108/p/8967334.html
https://blog.csdn.net/weixin_41656968/article/details/80205717

原文地址:https://blog.51cto.com/weiruoyu/2365854

时间: 2024-08-29 12:21:32

python中read,readline,和readlines的区别 并逐行输出的相关文章

Python中str()与repr()函数的区别——repr() 的输出追求明确性,除了对象内容,还需要展示出对象的数据类型信息,适合开发和调试阶段使用

Python中str()与repr()函数的区别 from:https://www.jianshu.com/p/2a41315ca47e 在 Python 中要将某一类型的变量或者常量转换为字符串对象通常有两种方法,即 str()或者 repr() . >>> a = 10 >>> type(str(a)) <class 'str'> >>> type(repr(a)) <class 'str'> 但是这二者之间有什么区别呢?因

python中read() readline()以及readlines()用法

[转自:http://www.ibm.com/developerworks/cn/linux/sdk/python/python-5/index.html#N1004E] 我们谈到“文本处理”时,我们通常是指处理的内容.Python 将文本文件的内容读入可以操作的字符串变量非常容易.文件对象提供了三个“读”方法: .read()..readline() 和 .readlines().每种方法可以接受一个变量以限制每次读取的数据量,但它们通常不使用变量. .read() 每次读取整个文件,它通常用

Python 中使用列表解析时候的区别

使用[] + for语句是解析列表 而使用() + for语句是产生生成器 实例代码如下: alist = [1, 2, 3, 4, 5] another_list = [i for i in alist] print another_list a_generator = (i for i in alist) print a_generator for i in a_generator: print i Python 中使用列表解析时候的区别

Python中list,tuple,dict,set的区别和用法

Python语言简洁明了,可以用较少的代码实现同样的功能.这其中Python的四个内置数据类型功不可没,他们即是list, tuple, dict, set.这里对他们进行一个简明的总结. List 字面意思就是一个集合,在Python中List中的元素用中括号[]来表示,可以这样定义一个List: L = [12, 'China', 19.998] 可以看到并不要求元素的类型都是一样的.当然也可以定义一个空的List: L = [] Python中的List是有序的,所以要访问List的话显然

Python 中 &quot;is&quot; 与 &quot;==&quot; 操作有什么区别?

转自:https://foofish.net/what-is-difference-between-is-and-euqals.html 在 Python 中,比较两个对象(变量)是否相等,可以用 "is" 和 "==" 操作,但它俩有什么区别?什么时候用 "is",什么时候用 "==" ?在面试时,发现不少候选人很难把这两者完全说清楚,因此在这篇文章中,「Python之禅」将对二者进行深入浅出的对比介绍. 先举个例子 小黄最

python中判断readline读到文件末尾

fp = open('somefile.txt') while True: line = fp.readline() if not line: break Python中,空串的not返回true,即not line时为读到EOF(文件末尾)

python中的__init__和__new__的区别

一.__init__ 方法是什么?(init前后的线是双下划线) 使用Python写过面向对象的代码的同学,可能对 __init__ 方法已经非常熟悉了,__init__ 方法通常用在初始化一个类实例的时候.例如: 1 # -*- coding: utf-8 -*- 2 3 class Person(object): 4 """Silly Person""" 5 6 def __init__(self, name, age): 7 self.na

Python中str()与repr()函数的区别

在 Python 中要将某一类型的变量或者常量转换为字符串对象通常有两种方法,即str()或者 repr() . >>> a = 10 >>> type(str(a)) <class 'str'> >>> type(repr(a)) <class 'str'> 但是这二者之间有什么区别呢?因为提供两个功能完全相同的内建函数是没有意义的.先看一个例子. >>> print(str('123')) 123 >

真正搞明白Python中Django和Flask框架的区别

在谈Python中Django框架和Flask框架的区别之前,我们需要先探讨如下几个问题. 一.为什么要使用框架? 为了更好地阐述这个问题,我们把开发一个应用的过程进行类比,往往开发一个应用(web应用.系统应用)跟建造房子的过程一样,需要先打地基,搭好骨架,然后一块砖一块砖叠上去. 而开发一个应用呢?同样也需要一个好的架构设计,数据库建模,然后一个模块一个模块使用代码实现. 如果开发一个软件应用不使用框架,和我们建房子时,每一块砖.每一根钢筋都需要自己生产出来本质上是一样的. 显而易见,如果在