码迷,mamicode.com
首页 > 系统相关 > 详细

read、readline、readlines和linecache的使用

时间:2020-03-21 23:26:57      阅读:98      评论:0      收藏:0      [点我收藏+]

标签:带来   打印   结束   nbsp   pytho   两种   使用   inf   需要   

现在有很多的内容都是放在文件中的,那么我们就要从文件中进行读取了,常见的读取方法有三种,分别是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(),字符串使用。

read、readline、readlines和linecache的使用

标签:带来   打印   结束   nbsp   pytho   两种   使用   inf   需要   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!