栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

儿童python教程233:Python readline()和readlines()函数:按行读取文件

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

儿童python教程233:Python readline()和readlines()函数:按行读取文件

使用 read() 函数读取文件时,如果文件过大,则一次读取全部内容到内存,容易造成内存不足,而相比每次限制读取字符(或字节)的个数,更推荐大家使用逐行读取文件的方式。

一般情况下,逐行读取只适用于以文本格式打开的文件,道理很简单,只有文本文件才有行的概念,二进制文件没有所谓行的概念。

文件对象提供了 readline() 和 readlines() 两个函数来逐行读取文件,其中 readline() 函数用于读取一行内容,而 readlines() 函数用于读取文件内的所有行。
  readline()函数
readline() 函数用于读取文件中的一行,包含**后的换行符“n”。此函数的基本语法格式为:

file.readline([size])

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

和 read() 函数一样,此函数成功读取文件数据的前提是,使用 open() 函数指定打开文件的模式必须为 r(只读模式)或 r+(读写模式)。

下面程序示范了使用 readline() 方法来读取文件内容:

#a.txt中有两行内容,分别是:

#考高分网

#www.pxcodes.com

f = open("a.txt", 'r', True)

while True:

    # 每次读取一行

    line = f.readline()

    # 如果没有读到数据,跳出循环

    if not line: break

    # 输出line

    print(line)

f.close()

运行结果为:

考高分网

www.pxcodes.com

由于 readline() 函数在读取文件中一行的内容时,会读取**后的换行符“n”,再加上 print() 函数输出内容时默认会换行,所以输出结果中会看到多出了一个空行。

不仅如此,在逐行读取时,还可以限制每次**多读取的字符数,例如:

f = open("a.txt", 'r', True)

while True:

    # 每次读取一行

    line = f.readline(3)

    # 如果没有读到数据,跳出循环

    if not line: break

    # 输出line

    print(line)

f.close()
运行结果为:

C语言
中文网


htt
p:/
/c.
bia
nch
eng
.ne
t

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

和 readline() 函数一样,readlines() 函数在读取每一行时,会连同行尾的换行符一块读取。

readlines() 函数的基本语法格式如下:

file.readlines()

其中,file 为打开的文件对象。和 read()、readline() 函数一样,它要求打开文件的模式使用 r(只读)或者 r+(读写)。

例如如下程序:

f = open("a.txt", 'r', True)

lines = f.readlines()

for line in lines:

    print(line)

运行结果为:

考高分网

www.pxcodes.com


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/805867.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号