Python readline()和readlines()函数实现按行读取文件

作者:NOGE2022 时间:2022-02-21 13:19:36 

如果想读取用 open() 函数打开的文件中的内容,除了可以使用 read() 函数,还可以使用 readline() 和 readlines() 函数。

和 read() 函数不同,这 2 个函数都以“行”作为读取单位,即每次都读取目标文件中的一行。对于读取以文本格式打开的文件,读取一行很好理解;对于读取以二进制格式打开的文件,它们会以“\n”作为读取一行的标志。

Python readline()函数

readline() 函数用于读取文件中的一行,包含最后的换行符“\n”。此函数的基本语法格式为:

file.readline([size])

其中,file 为打开的文件对象;size 为可选参数,用于指定读取每一行时,一次最多读取的字符(字节)数。

和 read() 函数一样,此函数成功读取文件数据的前提是,使用 open() 函数指定打开文件的模式必须为可读模式(包括 r、rb、r+、rb+ 4 种)。

仍以前面章节中创建的 my_file.txt 文件为例,该文件中有如下 2 行数据:

Python教程
http://csdn.net/python/

下面程序演示了 readline() 函数的具体用法:

f =open("my_file.txt")
读取一行数据
byt = f.readline()
print(byt)

程序执行结果为:

Python教程

由于 readline() 函数在读取文件中一行的内容时,会读取最后的换行符“\n”,再加上 print() 函数输出内容时默认会换行,所以输出结果中会看到多出了一个空行。
不仅如此,在逐行读取时,还可以限制最多可以读取的字符(字节)数,例如:

#以二进制形式打开指定文件
f =open("my_file.txt",'rb')
byt = f.readline(6)
print(byt)

运行结果为:

b'Python'

和上一个例子的输出结果相比,由于这里没有完整读取一行的数据,因此不会读取到换行符。

Python readlines()函数

readlines() 函数用于读取文件中的所有行,它和调用不指定 size 参数的 read() 函数类似,只不过该函数返回是一个字符串列表,其中每个元素为文件中的一行内容。

和 readline() 函数一样,readlines() 函数在读取每一行时,会连同行尾的换行符一块读取。
readlines() 函数的基本语法格式如下:

file.readlines()

其中,file 为打开的文件对象。和 read()、readline() 函数一样,它要求打开文件的模式必须为可读模式(包括 r、rb、r+、rb+ 4 种)。

举个例子:

f =open("my_file.txt",'rb')
byt = f.readlines()
print(byt)

运行结果为:

[b'Python\xbd\xcc\xb3\xcc\r\n', b'http://csdn.net/python/']

来源:https://blog.csdn.net/m0_74309242/article/details/129034762

标签:Python,readline(),readlines()
0
投稿

猜你喜欢

  • asp之自动闭合HTML/ubb标签函数 附简单注释

    2011-02-28 11:24:00
  • 彻底弄懂CSS盒子模式之三(浮动的表演和清除的自述)

    2007-05-11 16:52:00
  • python实现音乐播放和下载小程序功能

    2023-07-03 17:59:03
  • Python3.10动态修改Windows系统本地IP地址

    2021-07-21 01:10:59
  • MySQL UPDATE 语句的非标准实现代码

    2024-01-16 19:08:57
  • 如何利用Python给自己的头像加一个小国旗(小月饼)

    2023-09-15 20:47:31
  • Python importlib动态导入模块实现代码

    2022-07-31 05:52:25
  • 运行(runCode)复制(copyCode)保存(saveCode)代码框方法

    2007-10-21 08:41:00
  • python进程管理工具supervisor使用实例

    2022-08-24 13:47:03
  • 讲解MySQL数据库字符集出错的解决方法

    2008-12-02 14:32:00
  • ubuntu下mysql版本升级到5.7

    2024-01-13 11:10:00
  • 用JS开发页面动画效果时的一个设计思路

    2008-02-03 15:12:00
  • 跟老齐学Python之正规地说一句话

    2022-10-15 06:49:29
  • 2009年情人节网站logo欣赏

    2009-02-15 12:13:00
  • 用一个案例讲解SQL Server数据库恢复

    2008-11-28 14:17:00
  • Python基于pyCUDA实现GPU加速并行计算功能入门教程

    2021-11-01 08:24:58
  • django创建简单的页面响应实例教程

    2021-05-15 17:05:08
  • MySQL数据库完全卸载的方法

    2024-01-28 05:59:21
  • pyqt5的QWebEngineView 使用模板的方法

    2022-04-17 08:23:12
  • 高效优化博客的用户阅读体验

    2009-06-16 18:09:00
  • asp之家 网络编程 m.aspxhome.com