关键词

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

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

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

Python readline()函数

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

file.readline([size])

其中,file 为打开的文件对象;size 为可选参数,用于指定读取每一行时,一次最多读取的字符(字节)数。
仍以前面章节中创建的 my_file.txt 文件为例,该文件中有如下 2 行数据:

Python教程
http://task.lmcjl.com/python/

下面程序演示了 readline() 函数的具体用法:
f = open("my_file.txt")
读取一行数据
byt = f.readline()
print(byt)
程序执行结果为:

Python教程


不仅如此,在逐行读取时,还可以限制最多可以读取的字符(字节)数,例如:
#以二进制形式打开指定文件
f = open("my_file.txt",'rb')
byt = f.readline(6)
print(byt)
运行结果为:

b'Python'

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

Python readlines()函数

readlines() 函数用于读取文件中的所有行,它和调用不指定 size 参数的 read() 函数类似,只不过该函数返回是一个字符串列表,其中每个元素为文件中的一行内容。
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://task.lmcjl.com/python/']

本文链接:http://task.lmcjl.com/news/6002.html

展开阅读全文