您现在的位置是:网站首页>Python编程Python编程

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

少儿编程网2019-12-04 21:58:33Python编程 人已围观 来源:少儿编程 -用户投稿

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

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

一般情况下,逐行读取只适用于以文本格式打开的文件,道理很简单,只有文本文件才有行的概念,二进制文件没有所谓行的概念。gXD少儿编程网-Scratch_Python_教程_免费少儿编程学习平台
gXD少儿编程网-Scratch_Python_教程_免费少儿编程学习平台
儿童<a href=http://www.pxcodes.com/Python/ target=_blank class=infotextkey>python</a>教程233:Python readline()和readlines()函数:按行读取文件gXD少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

文件对象提供了 readline()  readlines() 两个函数来逐行读取文件,其中 readline() 函数用于读取一行内容,而 readlines() 函数用于读取文件内的所有行。gXD少儿编程网-Scratch_Python_教程_免费少儿编程学习平台
 

readline()函数

gXD少儿编程网-Scratch_Python_教程_免费少儿编程学习平台
readline() 函数用于读取文件中的一行,包含最后的换行符“\n”。此函数的基本语法格式为:

file.readline([size])gXD少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

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

和 read() 函数一样,此函数成功读取文件数据的前提是,使用 open() 函数指定打开文件的模式必须为 r(只读模式)或 r+(读写模式)。gXD少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

下面程序示范了使用 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()

运行结果为:

少儿编程网gXD少儿编程网-Scratch_Python_教程_免费少儿编程学习平台
gXD少儿编程网-Scratch_Python_教程_免费少儿编程学习平台
www.pxcodes.comgXD少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

由于 readline() 函数在读取文件中一行的内容时,会读取最后的换行符“\n”,再加上 print() 函数输出内容时默认会换行,所以输出结果中会看到多出了一个空行。gXD少儿编程网-Scratch_Python_教程_免费少儿编程学习平台
gXD少儿编程网-Scratch_Python_教程_免费少儿编程学习平台
不仅如此,在逐行读取时,还可以限制每次最多读取的字符数,例如:

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

while True:

    # 每次读取一行

    line = f.readline(3)

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

    if not line: break

    # 输出line

    print(line)

f.close()
运行结果为:

C语言gXD少儿编程网-Scratch_Python_教程_免费少儿编程学习平台
中文网gXD少儿编程网-Scratch_Python_教程_免费少儿编程学习平台
gXD少儿编程网-Scratch_Python_教程_免费少儿编程学习平台
gXD少儿编程网-Scratch_Python_教程_免费少儿编程学习平台
httgXD少儿编程网-Scratch_Python_教程_免费少儿编程学习平台
p:/gXD少儿编程网-Scratch_Python_教程_免费少儿编程学习平台
/c.gXD少儿编程网-Scratch_Python_教程_免费少儿编程学习平台
biagXD少儿编程网-Scratch_Python_教程_免费少儿编程学习平台
nchgXD少儿编程网-Scratch_Python_教程_免费少儿编程学习平台
enggXD少儿编程网-Scratch_Python_教程_免费少儿编程学习平台
.negXD少儿编程网-Scratch_Python_教程_免费少儿编程学习平台
tgXD少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

readlines()函数

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

和 readline() 函数一样,readlines() 函数在读取每一行时,会连同行尾的换行符一块读取。gXD少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

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

file.readlines()gXD少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

其中,file 为打开的文件对象。和 read()、readline() 函数一样,它要求打开文件的模式使用 r(只读)或者 r+(读写)。gXD少儿编程网-Scratch_Python_教程_免费少儿编程学习平台
gXD少儿编程网-Scratch_Python_教程_免费少儿编程学习平台
例如如下程序:

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

lines = f.readlines()

for line in lines:

    print(line)

运行结果为:

少儿编程网gXD少儿编程网-Scratch_Python_教程_免费少儿编程学习平台
gXD少儿编程网-Scratch_Python_教程_免费少儿编程学习平台
www.pxcodes.comgXD少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

版权所有:http://wWw.pxcodeS.com

相关文章:

支持一下 ( )查看更多相似文章

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

      匿名评论
    • 评论
    人参与,条评论
    儿童python教程233:Python readline()和readlines()函数:按行读取文件

客服在线

服务时间

周一至周日 9:00-21:00