python的 read, readlines,readline 有何异同,读取文件的时候用哪个好?怎么选择。

这篇具有很好参考价值的文章主要介绍了python的 read, readlines,readline 有何异同,读取文件的时候用哪个好?怎么选择。。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

先看是什么,再看怎么用。着急的话,可以看最后的一节。

开始前,先介绍一个小技巧:内置函数 repr(英文名representation)。开发调试用的,返回一个对象的字符串表示形式,包含对象的类型。
(函数str() 用于将值转化为适于人阅读的形式,而repr() 转化为供解释器读取的形式。)
举例:

    my_str = '你好\n'
    print(my_str.__str__())
    print(my_str.__repr__())

结果:

你好

'你好\n'

str 函数直接将‘\n’转义的结果打印了,看不到’\n’了,而 repr 函数的打印结果保留了字符串原始的样子,而且可以看出打印的是一个字符串类型。

接下来,我们也用 repr 这个函数来看看 read 函数的结果。为方便解释,我们的代码示例每次都读取整个文件。

文件内容:
python的 read, readlines,readline 有何异同,读取文件的时候用哪个好?怎么选择。,python,开发语言

read

read函数用于一次性读取整个文件的内容,并将其作为一个字符串返回。
如果不指定参数,则默认读取整个文件内容。
如果指定了参数size,则会读取指定大小的字符数。
读取完文件内容后,再次调用read函数将返回空字符串。

with open('running.log', 'r') as f:
    content = f.read()    
print(content)   
print(content.__repr__())

运行结果:
python的 read, readlines,readline 有何异同,读取文件的时候用哪个好?怎么选择。,python,开发语言
一般的print打印可以看到文件完整内容,而 read的结果上实际上是一个字符串,包含有文件每行的换行符’\n’,第2行开头的空格也会保留下来。

简单来说,read 函数就是将文件从头到尾一字不落地读取到一个字符串中。

readlines

readlines函数用于逐行读取文件内容,并将每行内容作为一个元素存储在列表中返回。
返回的列表中的每个元素对应文件中的一行文本

with open('running.log', 'r') as f:
    content = f.readlines()
print(content.__repr__())

运行结果:
python的 read, readlines,readline 有何异同,读取文件的时候用哪个好?怎么选择。,python,开发语言
显然,readlines 的结果是一个列表,每个元素就是文件一行的内容,同样也保留了空格。

简单来说,readlines 读取的也是整个文件一字不落的内容,只是按行存放在了列表中。方便按行取用。

readline

readline函数用于逐行读取文件内容,并返回当前行的内容。
每次调用readline函数,都会读取文件中的下一行。
当文件内容读取结束后,再次调用readline函数将返回空字符串。

with open('running.log', 'r') as f:
    print(f.readline().__repr__())

运行结果:
python的 read, readlines,readline 有何异同,读取文件的时候用哪个好?怎么选择。,python,开发语言
readline 一次调用只能读取一行,不能完整读取文件。

从名字就可以看出来,readline 就是 readlines 函数的子过程。

简单来说,就是读取文件的一行。
如果要完整读取,可以这样写:

with open('running.log', 'r') as f:
    for line in f:
        print(line.__repr__())

运行结果:
python的 read, readlines,readline 有何异同,读取文件的时候用哪个好?怎么选择。,python,开发语言

怎么选择?:

本质上来说,三者并没有区别,都能够完整读取文件内容,包括末尾的’\n’的等换行符。

差别在于返回类型和调用形式。

read 返回字符串类型,如果你需要用正则去查找一些东西,字符串是更好的选择。

readlines 返回列表类型,如果你需要读取完文件然后挑几行处理,或者逐行处理,就用它。(在 python 中是更常用的,无脑用。)

readline 返回的是字符串类型,如果你需要在读取文件的过程中就进行处理判断,不需要读完整个文件,用这个函数就比较合适。文章来源地址https://www.toymoban.com/news/detail-821515.html

到了这里,关于python的 read, readlines,readline 有何异同,读取文件的时候用哪个好?怎么选择。的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python 三种读文件方法read(), readline(), readlines()及去掉换行符\n

    首先, 让我们看下数据 demo.txt , 就两行数据. 这种方法直接将所有的数据一次性读取出来, data的数据类型是一个字符串. 该方法读取的是一行内容, 然后是带换行符的, 所有会有空行, 后续会说明如何去掉换行符”n”. 这种方法返回的是一个列表, 注意换行符是包含在字符串的内

    2023年04月14日
    浏览(51)
  • Python文件读取:readlines()方法详解

    Python文件读取:readlines()方法详解 Python是一种非常强大的编程语言,拥有各种各样的内置函数和模块来处理文件。其中,readlines()方法是Python中常用的文件读取方法之一,这篇文章就来详细介绍一下readlines()方法的使用。 一、readlines()方法概述 readlines()方法是Python内置的文件读

    2024年02月07日
    浏览(42)
  • 详细分析Python中的read()、readline、readlines()方法

    在Python中,可以使用open()函数来打开文件并读取其中的内容,然后使用不同的方法来处理文件内容 文件内容如下: read() 函数:从文件中读取指定数量的字节,默认情况下会读取整个文件 如果指定了可选参数size,则读取size个字节的内容 如果到达文件末尾,则返回空字符串

    2024年04月12日
    浏览(38)
  • Python中read()、readline()和readlines()三者间的区别和用法

    在python中读取文件常用的三种方法:read(),readline(),readlines() 假设a.txt的内容如下所示: read([size])方法从文件当前位置起读取size个字节,若无参数size,则表示读取至文件结束为止,它范围为字符串对象 输出结果: 从字面意思可以看出,该方法每次读出一行内容,所以,读取时

    2024年03月13日
    浏览(45)
  • python sys.stdin(详细介绍readline()和readlines())

    在Python中, sys.stdin 是 sys 模块的一部分,用于处理标准输入流(stdin)。 详细介绍 sys.stdin.readline()和 sys.stdin.readlines() sys.stdin.readline() 方法从标准输入中读取一行用户输入。 sys.stdin.readline() sys.stdin.readlines() 方法会一次性读取所有输入行,并返回一个包含各行数据的列表。

    2024年02月07日
    浏览(40)
  • python readlines函数解析

    readlines() 是Python文件对象的一个方法,用于读取文件中的所有行并将它们作为一个字符串列表返回。每一行都是列表中的一个元素,行尾的换行符也会包含在元素中。 readlines() 方法可以使用一个可选参数 sizehint ,它指定要读取的字节数。如果指定了 sizehint ,则 readlines() 方法

    2024年02月15日
    浏览(35)
  • 【Python】一文详细介绍 File对象的readlines()方法

    【Python】一文详细介绍 File对象的readlines()方法 🌈 欢迎进入我的个人主页,我是高斯小哥!👈 🎓 博主档案: 广东某985本硕,SCI顶刊一作,深耕 深度学习 多年,熟练掌握PyTorch框架。 🔧 技术专长: 擅长处理各类深度学习任务,包括但不限于图像分类、图像重构(去雾去模

    2024年04月16日
    浏览(55)
  • 1766_perl实现readlines功能

    全部学习汇总: GreyZhang/perl_basic: some perl basic learning notes. (github.com)          近段时间写一个Perl程序,中间反反复复用到了文件的读写。虽说是用Perl的基本功能实现读写非常简单,但是写的过程中我不止一次在想Python以及MATLAB的功能。后来终于忍不住写了一个小函数,用

    2024年02月16日
    浏览(45)
  • Node.js的readline模块 命令行交互的模块

    Node.js是一个非常流行的JavaScript运行时环境,它提供了许多内置模块来帮助我们开发应用程序。其中之一是readline模块,它提供了一种简单的方法来读取用户输入并进行交互。 本文将详细介绍readline模块的API和使用案例,并附有代码注释。 readline模块提供了一些API来读取和处理

    2024年02月08日
    浏览(43)
  • java网络编程 BufferedReader的readLine方法读不到数据且一直阻塞

    最近在整理Java IO相关内容,会遇到一些以前没有注意的问题,特此记录,以供自查和交流。 需求: 基于Java的BIO API,实现简单的客户端和服务端通信模型,客户端使用BufferedReader的readLine方法读取System.in上的用户输入,然后通过字节输出流发送给服务端,服务端使用BufferedR

    2024年04月26日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包