Python readline() 方法及示例

Python readline()是什么?

Python readline() 是一个文件方法,用于从给定文件中读取完整的一行。返回的字符串末尾会附加一个换行符 (“\n”)。

您也可以使用 size 参数来获取指定长度的行。size 参数是可选的,默认情况下会返回整行。

下方的截图很好地说明了 readline() 的工作流程。

假设您有一个文件 demo.txt,在使用 readline() 时,它会从 demo.txt 返回第一行。


Python readline
readline() 的工作原理

Python readline() 的特性

以下是 Python read line 的重要特性

  • Python readline() 方法每次只读取文件中的一行,并返回给定的文件中的第一行。
  • 它会在行的末尾添加一个换行符 (“\n”)。
  • 如果以普通读取模式打开文件,readline() 将返回字符串。
  • 如果以二进制模式打开文件,readline() 将返回二进制对象。
  • 您可以将 size 作为参数传递给 readline(),它将根据给定的 size 返回包含换行符的行。默认情况下,size 为 0,表示返回整行。

语法

file.readline(size)

参数

size:(可选) 在此处,您可以向 readline() 指定一个整数值。它将获取该大小的字符串。默认情况下,size 的值为 -1,因此会返回整个字符串。

返回值

readline() 方法从给定的文件中返回一行。

示例:使用 readline() 读取第一行

在此,我们将了解如何使用 readline() 方法从给定文件中读取行。我们将在此使用 demo.txt 文件来读取内容。

demo.txt 文件的内容如下:

demo.txt

Testing - FirstLine
Testing - SecondLine
Testing - Third Line
Testing - Fourth Line
Testing - Fifth Line

以下是从 demo.txt 文件读取一行的步骤。

步骤 1) 首先,使用文件 open() 方法打开文件,如下所示:

myfile = open("demo.txt", "r")

open() 方法的第一个参数是文件名,第二个参数是打开文件的模式。现在,我们使用了“r”,表示文件将以读取模式打开。

步骤 2) 使用 readline() 方法从 demo.txt 文件读取行,如下所示:

myline = myfile.readline()

步骤 3) 读取的行存储在 myline 中。现在让我们打印该行以查看详细信息:

print(myline)

步骤 4) 读取完成后,使用 close() 方法关闭文件,如下所示:

myfile.close()

整个代码如下:

myfile = open("demo.txt", "r")
myline = myfile.readline()
print(myline)
myfile.close()

输出

Testing - FirstLine

示例:在 readline() 中使用 size 参数

我们已经看到了如何从给定文件中读取整行。您也可以使用 size 参数来获取所需长度的行。

给出的示例中,size 参数为 10。它将获取第一行,并返回从 0 到 10 的字符组成的行。

我们将使用之前使用的 demo.txt 文件。保存 demo.txt 文件,并在 open() 函数中使用 demo.txt 的路径。

myfile = open("demo.txt", "r")
myline = myfile.readline(10)
print(myline)
myfile.close()

输出

Testing -

Python 中的基本文件 IO

Python 中用于以读写模式打开文件的基本文件 IO 是内置的 open() 函数。open() 函数的两个重要参数是文件路径(一个字符串)和模式(指定文件是用于读取还是写入)。模式参数是一个字符串。

语法

open("file path", "mode")

以下是可与 open() 方法一起使用的模式:

模式 描述
回车符 这将以读取模式打开文件。
W 使用 w,您可以写入文件。
a 使用 a 配合 open() 将以写入模式打开文件,并且内容将被追加到末尾。
rb rb 模式将以二进制数据读取模式打开文件。
wb wb 模式将以二进制数据写入模式打开文件。

由于我们需要读取文件,我们将使用读取模式,即 (r)。

Python 中逐行读取文件

readline() 方法每次只帮助读取一行,并返回给定文件中的第一行。

在这里,我们将使用 readline() 来读取给定文件中的所有行。要读取的文件是 demo.txt。文件内容为:

保存 demo.txt 文件,并在 open() 函数中使用 demo.txt 的路径。

Testing - FirstLine
Testing - SecondLine
Testing - Third Line
Testing - Fourth Line
Testing - Fifth Line

在 while 循环中使用 readline() 将负责读取 demo.txt 文件中存在的所有行。

myfile = open("demo.txt", "r")
myline = myfile.readline()
while myline:
    print(myline)
    myline = myfile.readline()
myfile.close()   

输出

Testing - FirstLine
Testing - SecondLine
Testing - Third Line
Testing - Fourth Line
Testing - Fifth Line

如何一次性读取文件中的所有行?

要读取给定文件中的所有行,您可以使用 Python readlines() 函数。Python readlines() 函数的特点是它可以读取给定文件中的所有内容,并将输出保存在一个列表中。

readlines() 函数利用内部的 readline() 函数一直读取到文件末尾,并返回一个包含从文件中读取的所有行的列表。

这是一个使用 readlines() 读取文件中所有行的工作示例。

我们将要使用的文件是 test.txt。test.txt 文件的内容如下:

test.txt: 保存 test.txt 文件,并在 open() 函数中使用 test.txt 的路径。

Line No 1
Line No 2
Line No 3
Line No 4
Line No 5
myfile = open("test.txt", "r")
mylist = myfile.readlines()
print(mylist)
myfile.close()

输出

['Line No 1\n', 'Line No 2\n', 'Line No 3\n', 'Line No 4\n', 'Line No 5']

如何使用 for 循环逐行读取文件?

以下是使用 for 循环从给定文件中逐行读取的步骤:

步骤 1) 首先,使用 Python open() 函数以读取模式打开文件。

步骤 2) open() 函数将返回一个文件句柄。在 for 循环中使用该文件句柄,并逐行从给定文件中读取所有行。

步骤 3) 完成后,使用 close() 函数关闭文件句柄。

这是一个使用 for 循环逐行读取给定文件的实际示例。我们将在此使用的文件是 test.txt。

test.txt 的内容如下。保存 test.txt 文件,并在 open() 函数中使用 test.txt 的路径。

Line No 1
Line No 2
Line No 3
Line No 4
Line No 5
myfile = open("test.txt", "r")
for line in myfile:
    print(line)
myfile.close()   

输出

Line No 1
Line No 2
Line No 3
Line No 4
Line No 5

如何使用 while 循环逐行读取文件?

您可以使用 while 循环并逐行读取给定文件的内容。为此,首先使用 open() 函数以读取模式打开文件。从 open() 返回的文件句柄,在 while 循环 中使用它来读取行。

Python readline() 函数在 while 循环中使用以读取行。对于 for 循环,循环会在遇到文件末尾时终止。但 while 循环的情况并非如此,您需要检查文件是否已读完。因此,一旦 readline() 函数返回一个空字符串,您就可以使用 break 语句从 while 循环中终止。

这是一个使用 while 循环逐行读取文件的实际示例。

我们将要使用的文件是 test.txt。保存 test.txt 文件,并在 open() 函数中使用 test.txt 的路径。

Line No 1
Line No 2
Line No 3
Line No 4
Line No 5
myfile = open("test.txt", "r")
while myfile:
    line  = myfile.readline()
    print(line)
    if line == "":
        break
myfile.close() 

输出

Line No 1
Line No 2
Line No 3
Line No 4
Line No 5

摘要

  • Python readline() 是一个文件方法,用于从给定文件中读取完整的一行。返回的字符串末尾会附加一个换行符 (“\n”)。
  • 您也可以使用 size 参数来获取指定长度的行。size 参数是可选的,默认情况下会返回整行。
  • readline() 方法每次只帮助读取一行,并返回给定文件中的第一行。我们将使用 readline() 来读取给定文件中的所有行。
  • 要读取给定文件中的所有行,您可以使用 Python readlines() 函数。Python readlines() 函数的特点是它可以读取给定文件中的所有内容,并将输出保存在一个列表中。
  • readlines() 函数利用内部的 readline() 函数一直读取到文件末尾,并返回一个包含从文件中读取的所有行的列表。
  • 可以使用 for 循环逐行读取文件。为此,首先使用 Python open() 函数以读取模式打开文件。open() 函数将返回一个文件句柄。在 for 循环中使用该文件句柄,并逐行从给定文件中读取所有行。完成后,使用 close() 函数关闭文件句柄。
  • 您可以使用 while 循环并逐行读取给定文件的内容。为此,首先使用 open() 函数以读取模式打开文件。从 open() 返回的文件句柄,在 while 循环中使用它来读取行。Python readline() 函数在 while 循环中使用以读取行。