read、readline、readlines和linecache的使用

现在有很多的内容都是放在文件中的,那么我们就要从文件中进行读取了,常见的读取方法有三种,分别是read()、readline()和readlines(),那他们有什么区别呢,我们来看一下。

一、read(),返回字符串

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

代码:

f = open(‘春.txt‘,encoding="utf-8") # 打开文件
data = f.read()
print(data)

输出结果:

<class ‘str‘>
盼望着,盼望着,东风来了,春天的脚步近了。
一切都像刚睡醒的样子,欣欣然张开了眼。山朗润起来了,水涨起来了,太阳的脸红起来了。
小草偷偷地从土里钻出来,嫩嫩的,绿绿的。园子里,田野里,瞧去,一大片一大片满是的。坐着,躺着,打两个滚,踢几脚球,赛几趟跑,捉几回迷藏。风轻悄悄的,草软绵绵的。
桃树、杏树、梨树,你不让我,我不让你,都开满了花赶趟儿。红的像火,粉的像霞,白的像雪。花里带着甜味儿;闭了眼,树上仿佛已经满是桃儿、杏儿、梨儿。花下成千成百的蜜蜂嗡嗡地闹着,大小的蝴蝶飞来飞去。野花遍地是:杂样儿,有名字的,没名字的,散在草丛里,像眼睛,像星星,还眨呀眨的。
“吹面不寒杨柳风”,不错的,像母亲的手抚摸着你。风里带来些新翻的泥土的气息,混着青草味儿,还有各种花的香,都在微微润湿的空气里酝酿。鸟儿将巢安在繁花嫩叶当中,高兴起来了,呼朋引伴地卖弄清脆的喉咙,唱出宛转的曲子,与轻风流水应和着。牛背上牧童的短笛,这时候也成天嘹亮地响着。
雨是最寻常的,一下就是三两天。可别恼。看,像牛毛,像花针,像细丝,密密地斜织着,人家屋顶上全笼着一层薄烟。树叶儿却绿得发亮,小草儿也青得逼你的眼。傍晚时候,上灯了,一点点黄晕的光,烘托出一片安静而和平的夜。在乡下,小路上,石桥边,有撑起伞慢慢走着的人,地里还有工作的农民,披着蓑戴着笠。他们的房屋,稀稀疏疏的在雨里静默着。
天上风筝渐渐多了,地上孩子也多了。城里乡下,家家户户,老老小小,也赶趟儿似的,一个个都出来了。舒活舒活筋骨,抖擞抖擞精神,各做各的一份事去。“一年之计在于春”,刚起头儿,有的是工夫,有的是希望。
春天像刚落地的娃娃,从头到脚都是新的,它生长着。
春天像小姑娘,花枝招展的,笑着,走着。
春天像健壮的青年,有铁一般的胳膊和腰脚,领着我们上前去。

代码:

f = open(‘春.txt‘,encoding="utf-8") # 打开文件
data = f.read(50)
print(data)

输出结果:

<class ‘str‘>
盼望着,盼望着,东风来了,春天的脚步近了。
一切都像刚睡醒的样子,欣欣然张开了眼。山朗润起来了,水涨

二、readline(),返回字符串

readline(size):每次从文件中读取一行包括"\n"字符。如果size制定了一个非负数的参数,则返回指定大小的字节数,包括"\n"字符,该方法返回的是字符对象。当文件过大时,采用read()和readlines()读取会占用过多内存,甚至文件大于可用内存时,读取会出现异常,此时可使用readline()来读取,但该方法读取文件时间要大于前两种。

代码:readline(),一行一行进行读取

f = open(‘春.txt‘,encoding="utf-8") # 打开文件
data = f.readline()
data2 = f.readline()
print(type(data))
print(data,data2)

输出结果:

<class ‘str‘>
盼望着,盼望着,东风来了,春天的脚步近了。
 一切都像刚睡醒的样子,欣欣然张开了眼。山朗润起来了,水涨起来了,太阳的脸红起来了。

代码:readline(size),添加字节

f = open(‘春.txt‘,encoding="utf-8") # 打开文件
data = f.readline(10)
data2 = f.readline(10)
print(type(data))
print(data)
print(data2)

输出结果:

<class ‘str‘>
盼望着,盼望着,东风
来了,春天的脚步近了

三、readlines(),返回列表

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

代码:

f = open(‘春.txt‘,encoding="utf-8") # 打开文件
data = f.readlines()
print(type(data))
print(data)

输出结果:

<class ‘list‘>
[‘盼望着,盼望着,东风来了,春天的脚步近了。\n‘, ‘一切都像刚睡醒的样子,欣欣然张开了眼。山朗润起来了,水涨起来了,太阳的脸红起来了。\n‘, ‘小草偷偷地从土里钻出来,嫩嫩的,绿绿的。园子里,田野里,瞧去,一大片一大片满是的。坐着,躺着,打两个滚,踢几脚球,赛几趟跑,捉几回迷藏。风轻悄悄的,草软绵绵的。\n‘, ‘桃树、杏树、梨树,你不让我,我不让你,都开满了花赶趟儿。红的像火,粉的像霞,白的像雪。花里带着甜味儿;闭了眼,树上仿佛已经满是桃儿、杏儿、梨儿。花下成千成百的蜜蜂嗡嗡地闹着,大小的蝴蝶飞来飞去。野花遍地是:杂样儿,有名字的,没名字的,散在草丛里,像眼睛,像星星,还眨呀眨的。\n‘, ‘“吹面不寒杨柳风”,不错的,像母亲的手抚摸着你。风里带来些新翻的泥土的气息,混着青草味儿,还有各种花的香,都在微微润湿的空气里酝酿。鸟儿将巢安在繁花嫩叶当中,高兴起来了,呼朋引伴地卖弄清脆的喉咙,唱出宛转的曲子,与轻风流水应和着。牛背上牧童的短笛,这时候也成天嘹亮地响着。\n‘, ‘雨是最寻常的,一下就是三两天。可别恼。看,像牛毛,像花针,像细丝,密密地斜织着,人家屋顶上全笼着一层薄烟。树叶儿却绿得发亮,小草儿也青得逼你的眼。傍晚时候,上灯了,一点点黄晕的光,烘托出一片安静而和平的夜。在乡下,小路上,石桥边,有撑起伞慢慢走着的人,地里还有工作的农民,披着蓑戴着笠。他们的房屋,稀稀疏疏的在雨里静默着。\n‘, ‘天上风筝渐渐多了,地上孩子也多了。城里乡下,家家户户,老老小小,也赶趟儿似的,一个个都出来了。舒活舒活筋骨,抖擞抖擞精神,各做各的一份事去。“一年之计在于春”,刚起头儿,有的是工夫,有的是希望。\n‘, ‘春天像刚落地的娃娃,从头到脚都是新的,它生长着。\n‘, ‘春天像小姑娘,花枝招展的,笑着,走着。\n‘, ‘春天像健壮的青年,有铁一般的胳膊和腰脚,领着我们上前去。‘]

四、linecache模块,返回字符串

linecache模块既然是模块就需要先导入库,它可以指定获取文件中的第几行。

代码:

import linecache
data = linecache.getline(‘春.txt‘,2)
print(type(data))
print(data)

输出结果:

<class ‘str‘>
一切都像刚睡醒的样子,欣欣然张开了眼。山朗润起来了,水涨起来了,太阳的脸红起来了。

以上就是读取文件的用法了,还有一点要说,读取完文件之后打印出来的内容可能会有空格或者换行符,如果想要去除这些多余字符可以使用strip(),字符串使用。

原文地址:https://www.cnblogs.com/luym/p/12542659.html

时间: 2024-07-30 18:50:26

read、readline、readlines和linecache的使用的相关文章

python read() readline() readlines() write() writelines()方法总结与区别

python read() readline() readlines() write() writelines()方法总结与区别 输出: read()方法用于直接读取字节到字符串中,可以接参数给定最多读取的字节数,如果没有给定,则文件读取到末尾. readline()方法读取打开文件的一行(读取下个行结束符之前的所有字节),然后整行,包括行结束符,作为字符串返回. readlines()方法读取所有行然后把它们作为一个字符串列表返回 文件/home/pjc/python/pjc.txt的内容如下

python read readline readlines区别

file 对象使用 open 函数来创建,下表列出了 file 对象常用函数read.readline.readlines区别: 1.从文件读取指定的字节数,size如果未给定或为负则读取所有. file.read([size]) 2.读取整行,包括 "\n" 字符. file.readline([size]) 3.读取所有行并返回列表,若给定sizeint>0,返回总和大约为sizeint字节的行, 实际读取值可能比 sizeint 较大, 因为需要填充缓冲区. file.re

Python中的read(), readline(), readlines()

文件对象提供了三个"读"方法: .read()..readline() 和 .readlines(). read() 每次读取整个文件,它通常用于将文件内容放到一个字符串变量中.然而 .read() 生成文件内容最直接的字符串表示,但对于连续的面向行的处理,它却是不必要的,并且如果文件大于可用内存,则不可能实现这种处理. readlines()自动将文件内容分析成一个行的列表,该列表可以由 Python 的 for... in ... 结构进行处理. .readline()每次只读取一

python 的文件读写方法:read readline readlines wirte &nbsp; writelines

read()方法读入整个文件,把整个文件以字符串形式返回. readline()  方法每次只读一行,每运行一次只读一行.如果要读整个文件,需要结合循环判断文件结束. python判断文件末尾的标志是,读到空字符. 比如: while str != '':     readline() 而readlines()每次读入整个文件,以列表的形式返回,把文件的每一行作为列表的一个元素. write(str)  提供的参数是字符串,把字符串写入文件. writelines(seq)  提供的参数是可迭代

read, readline, readlines

read读取指定长度,返回字符串 readline 每次读取一行 readlines 将整个文件读取到内存中. 对于大文件(大于内存)的处理,readline的一行行迭代影响效率.网上看到有个老外给了个很不错的处理办法: import io def readInChunks(fileObj, chunkSize=2048): """ Lazy function to read a file piece by piece. Default chunk size: 2kB. &q

read,readline,readlines的特点与区别

1.read 读取全部文件 with open("test.text", "r",encoding='utf8') as f: print(f.read()) 输出: 2.readline 读取下一行 with open("test.text", "r",encoding='utf8') as f: # print(f.read()) for i in range(10): print(f.readline()) 输出: 3.

read,readline,readlines的区别

python中有神奇的三种读操作:read.readline和readlines read()  : 一次性读取整个文件内容.推荐使用read(size)方法,size越大运行时间越长 readline()  :每次读取一行内容.内存不够时使用,一般不太用 readlines()   :一次性读取整个文件内容,并按行返回到list,方便我们遍历 一般小文件我们都采用read(),不确定大小你就定个size,大文件就用readlines() 原文地址:https://www.cnblogs.com

Python模块应用 (linecache)

linecache linecache是专门支持读取大文件,而且支持行式读取的函数库. linecache 预先把文件读入缓存起来,后面如果你访问该文件的话就不再从硬盘读取.对于大文件的读取效率还不错 Help on module linecache: NAME linecache - Cache lines from files. FILE /usr/local/lib/python2.7/linecache.py MODULE DOCS http://docs.python.org/libr

运维的我要学开发--Python(4)

本文均来自Python Cookbook,本博文励志将Cookbook中的string部位,文件,面向对象编程部分完成,本系列博文陆续还会介绍flask框架,每篇博文都以一个个小例子展示. #-*- coding: utf-8 -*- ''' 文件相关的操作: read() open() 两个参数: 第一个:文件路径 第二个:打开文件的模式 常用的文件打开模式: r:文本模式读取 rb:二进制模式读取 w:创建文件并文本模式 wb:创建文件,二进制模式写 rU:通用换行符的文本模式读取文件(独立