readreadlinereadlines和linecache的使用
Posted luym
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了readreadlinereadlines和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):每次从文件中读取一行包括" "字符。如果size制定了一个非负数的参数,则返回指定大小的字节数,包括" "字符,该方法返回的是字符对象。当文件过大时,采用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‘> [‘盼望着,盼望着,东风来了,春天的脚步近了。 ‘, ‘一切都像刚睡醒的样子,欣欣然张开了眼。山朗润起来了,水涨起来了,太阳的脸红起来了。 ‘, ‘小草偷偷地从土里钻出来,嫩嫩的,绿绿的。园子里,田野里,瞧去,一大片一大片满是的。坐着,躺着,打两个滚,踢几脚球,赛几趟跑,捉几回迷藏。风轻悄悄的,草软绵绵的。 ‘, ‘桃树、杏树、梨树,你不让我,我不让你,都开满了花赶趟儿。红的像火,粉的像霞,白的像雪。花里带着甜味儿;闭了眼,树上仿佛已经满是桃儿、杏儿、梨儿。花下成千成百的蜜蜂嗡嗡地闹着,大小的蝴蝶飞来飞去。野花遍地是:杂样儿,有名字的,没名字的,散在草丛里,像眼睛,像星星,还眨呀眨的。 ‘, ‘“吹面不寒杨柳风”,不错的,像母亲的手抚摸着你。风里带来些新翻的泥土的气息,混着青草味儿,还有各种花的香,都在微微润湿的空气里酝酿。鸟儿将巢安在繁花嫩叶当中,高兴起来了,呼朋引伴地卖弄清脆的喉咙,唱出宛转的曲子,与轻风流水应和着。牛背上牧童的短笛,这时候也成天嘹亮地响着。 ‘, ‘雨是最寻常的,一下就是三两天。可别恼。看,像牛毛,像花针,像细丝,密密地斜织着,人家屋顶上全笼着一层薄烟。树叶儿却绿得发亮,小草儿也青得逼你的眼。傍晚时候,上灯了,一点点黄晕的光,烘托出一片安静而和平的夜。在乡下,小路上,石桥边,有撑起伞慢慢走着的人,地里还有工作的农民,披着蓑戴着笠。他们的房屋,稀稀疏疏的在雨里静默着。 ‘, ‘天上风筝渐渐多了,地上孩子也多了。城里乡下,家家户户,老老小小,也赶趟儿似的,一个个都出来了。舒活舒活筋骨,抖擞抖擞精神,各做各的一份事去。“一年之计在于春”,刚起头儿,有的是工夫,有的是希望。 ‘, ‘春天像刚落地的娃娃,从头到脚都是新的,它生长着。 ‘, ‘春天像小姑娘,花枝招展的,笑着,走着。 ‘, ‘春天像健壮的青年,有铁一般的胳膊和腰脚,领着我们上前去。‘]
四、linecache模块,返回字符串
linecache模块既然是模块就需要先导入库,它可以指定获取文件中的第几行。
代码:
import linecache data = linecache.getline(‘春.txt‘,2) print(type(data)) print(data)
输出结果:
<class ‘str‘> 一切都像刚睡醒的样子,欣欣然张开了眼。山朗润起来了,水涨起来了,太阳的脸红起来了。
以上就是读取文件的用法了,还有一点要说,读取完文件之后打印出来的内容可能会有空格或者换行符,如果想要去除这些多余字符可以使用strip(),字符串使用。
以上是关于readreadlinereadlines和linecache的使用的主要内容,如果未能解决你的问题,请参考以下文章
Python教程:读取文件有三种方法:(readreadlinereadlines)详细用法