• 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):每次从文件中读取一行包括" "字符。如果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(),字符串使用。

  • 相关阅读:
    Git标签
    Git管理修改和撤销修改
    Git删除文件
    Git解决冲突
    Git的stash功能
    Git管理分支
    Git的多人协作模式
    Git相关指令
    LC7 整数翻转 + LC9 回文数
    LC1 两数之和
  • 原文地址:https://www.cnblogs.com/luym/p/12542659.html
Copyright © 2020-2023  润新知