关于python的readlines(),readline(),read()的介绍

1.read()

这个函数是把一个文档当成一个字符串(结尾有空字符串)返回。也就是一个文档存储在一个字符串对象中,如果文件很大,就很耗内存。

注:read()和原来的文档相比,输出的时候结尾多了一个'\n'(换行),其余没区别

如果想要输出和原文档一模一样,需要在结果加rstrip(),也就是去掉末尾空格,例如:

有一个文件pi_digits.txt,内容如下:

pi_digits.txt

3.143453453452342653453445345123656

1.py如下

file_name = 'pi_digits.txt'
with open(file_name) as f:contents = f.read()
print(contents)
print(contents.rstrip())

运行1.py结果如下:

3.1434534534523426534534453451236563.143453453452342653453445345123656

显然第一个末尾多一个空行,第二次和原文档一样。

2.readlines(),是把一个文档的每一行(包含行前的空格,行末加一个\n),作为列表的一个元素,存储在一个list中。每一个行作为list的一个元素。

注意:readlines()和原文档相比,每行之后都多出一个空行,因为原来每行末尾都加了'\n',要想和原文档输出一样,那么每个行末尾加上rstrip()即可消除右边空格,左边空格不变。

3.readline(),类似于readlines(),不过它每次只读取文档的一行。以后需要逐步循环(一般用whicl循环),最后遍历整个文件。

注意:输出情况同readlines()

4.直接使用open() 返回的对象,例如:

file_name = 'pi_digits.txt'
f1 = open(file_name)
#这里f1在原来的每行末尾都放置了一个'\n',print本身也会加一个'\n',所以每行输出后多两个'\n',
#两次换行的结果是行和行之间夹着一个空行
for line in f1:print(line)

输出如下:

3.143453453452342653453445345123656

注意:直接使用open()返回对象,并且把这个对象逐行读取后和readlines()后逐行读取是一样的。

open()会把原来的文档对象保存到一个变量中。且在原来的每行末尾加一个看不见的'\n',我们姑且当成是直接打包一个文件(每行多加一个'\n')。逐行读取的时候和readlines()是一样的。但是readlines()会把一个文件以行为单位放在一个list中,但是

open()结果是把一个文档整体打包。但是open()返回对象和readlines()还有一个区别,readlines()返回的对象可以在with代码块之外使用,但是open()返回的对象只能在with代码块内使用。

file_name = 'pi_digits.txt'
with  open(file_name) as f1:
#下面的for代码块使用了f1,必须有缩进,因为使用f1只能在with代码块内使用for line in f1:print(line)with open(file_name) as f2:lines = f2.readlines()
#下面的for语句可以有缩进也可以没有缩进,有缩进就意味着在with代码块内,没有缩进意味着在with代码块外
#使用,这两种都是可以的,所以相对而言,readlines()返回对象有更大的自由度
for line in lines:print(line.rstrip())~                             

注意:readlines()返回对象可以在with代码块外使用,但是open()返回对象只能在with代码块内使用

关于python3的readlines(),read()和readline()简介相关推荐

  1. R语言readLines函数、n.readLines函数、readline函数读取文本文件实战

    R语言readLines函数.n.readLines函数.readline函数读取文本文件实战 目录 R语言readLines函数.n.readLines函数.readline函数读取文本文件实战 # ...

  2. Python3 matplotlib的绘图函数subplot()简介

    Python3 matplotlib的绘图函数subplot()简介 一.简介 matplotlib下, 一个 Figure 对象可以包含多个子图(Axes), 可以使用 subplot() 快速绘制 ...

  3. Python3学习笔记(一)简介 、 安装 、 解释器

    python(一)简介.安装 . python解释器介绍 一. 简介 python提供了非常完善的基础代码库 , 覆盖了网络 . 文件 . GUI . 数据库 . 文本等大量的内容 , 被称之为&qu ...

  4. python3 多维数组 NumPy ndarray 简介

    目录 基础 重要属性 创建 Converting Python array_like Objects to NumPy Arrays 多维数组 一维 通用数学函数 基础 NumPy 的主要对象是齐次多 ...

  5. python3精要(35)-wxPython(1)-简介与开源协议

    wxPython是Python编程语言的跨平台GUI工具包.它允许Python程序员简单易用地创建具有健壮.功能强大的图形用户界面的程序.它是作为一组Python扩展模块实现的,这些模块包装了流行的w ...

  6. python3数据库框架_python3大框架简介 小收藏

    在python语言中,有着特别厉害的三大框架. 这三个框架分别为:Flask框架,Tornado框架,Django框架. Flask框架:Flask诞生于2010年,是Armin ronacher(人 ...

  7. python3 readlines的参数_Python3 File readlines() 方法

    Python3 File readlines() 方法 概述 readlines() 方法用于读取所有行(直到结束符 EOF)并返回列表,该列表可以由 Python 的 for... in ... 结 ...

  8. python中readlines函数用法,python中read() readline()以及readlines()用法

    我们谈到"文本处理"时,我们通常是指处理的内容.Python 将文本文件的内容读入可以操作的字符串变量非常容易.文件对象提供了三个"读"方法: .read(). ...

  9. python中readlines_python中read() readline()以及readlines()用法

    我们谈到"文本处理"时,我们通常是指处理的内容.Python 将文本文件的内容读入可以操作的字符串变量非常容易.文件对象提供了三个"读"方法: .read(). ...

最新文章

  1. 二十世纪最伟大的10大算法
  2. phpStorm无法使用svn1.8的解决办法
  3. (转)使用json-lib 数据格式转换
  4. 理清ThreadLocal、ThreadLocalMap、Thread之间的关系
  5. VS.NET版本与VC版本对应关系
  6. cookie ? 利用cookie实现 显示上次访问时间?
  7. c语言将数据写入文件后乱码_html文件的下载,如何使用字节流,如何使用转换流...
  8. 拉普拉斯二阶锐化matlab,laplace(拉普拉斯)锐化matlab程序
  9. k3c路由怎么设置虚拟服务器,搭建ngrok服务器!!给k3.k3c.K2.k2p路由器使用!!详细教程!!!...
  10. 利用计算机技术设计直流稳压电源,数字化控制在直流稳压电源中 - 稳压电源 - 电子发烧友网...
  11. 云服务器5m带宽会有什么样的速度?
  12. JavaScript打飞机小游戏
  13. 浅谈framework之PowerManagerService
  14. access订单明细表怎么做_如何制作材料明细表...doc
  15. android 开发刷rom,Android ROM开发(7) TF卡(金卡)自引导刷机
  16. 台式计算机功率一般多少瓦,笔记本功率一般是多少瓦的,实际功率又是多少?...
  17. Python3 os.mkfifo() 方法、Python3 os.removedirs() 方法
  18. 考驾照 科目一 笔记
  19. Windows 7使用技巧大全(含键盘快捷键)
  20. github上值得关注的前端项目

热门文章

  1. C Primer Plus(第五版)7
  2. Java知多少(96)绘图之设置字型和颜色
  3. FTP 服务器Serv-U:Permission denied解决
  4. flex 结合sandy引擎创作
  5. 使用Java程序输出1~100之间 7的倍数的个数及总和,并打印输出
  6. linux 下 apache启动、停止、重启命令
  7. [Python图像处理] 二十六.图像分类原理及基于KNN、朴素贝叶斯算法的图像分类案例
  8. 下列关于物理层设备的叙述中,错误的是( )
  9. 树莓派AI视觉云台——2、树莓派系统镜像的下载和烧写
  10. The Triangle