python中readline函数的使用用法

  • Post category:Python

当我们读取文本文件时,有时候我们需要读取一行文本,而不是一次性读取整个文件。这时候我们可以使用Python中的readline函数来实现。

函数定义

readline函数的定义如下:

file.readline([size])

size参数表示一次最多读取的字符数,它是可选参数,省略时表示一次性读取一行文本。

示例1:逐行读取文本文件

下面是一个示例,演示了如何使用readline函数逐行读取一个文本文件:

with open('test.txt', 'r') as file:
    line = file.readline()
    while line:
        print(line, end='')
        line = file.readline()

在这个示例中,我们通过open函数打开一个名为test.txt的文本文件,并以只读模式打开(第二个参数为'r')。接着使用readline函数读取文件的一行,并把这一行存储在line变量中。由于end=''参数的存在,print函数输出内容不会增加额外的空行。然后进入循环体,使用print函数输出当前行的内容,并再次使用readline函数读取下一行。循环执行知道读取完所有的行。

示例2:逐行读取超大文件

如果文件非常大,它可能大到不能一次性读取整个文件。在这种情况下,我们可以使用readline函数设置缓冲区大小,逐行读取文件中的数据。下面是一个示例:

BUF_SIZE = 1 * 1024 * 1024  # 1 MiB buffer size

with open('bigfile.txt', 'r') as file:
    while True:
        lines = file.readlines(BUF_SIZE)
        if not lines:
            break
        for line in lines:
            print(line, end='')

在这个示例中,我们使用readlines函数来逐行读取文件内容。readlines函数没有参数时,读取所有文件内容。如果给readlines函数设置一个整数参数size,它将读取size个字节的数据,并将其作为列表返回。由于这个函数会返回一个列表,我们需要在循环体中遍历列表,逐行输出每一行的内容。如果我们的缓冲区要足够大,将数据分块读取,能够应对大文件的读取需求。