用Python逐行读取文本文件

在Python中,我们经常需要处理文本文件。有时候,我们希望逐行读取文本文件的内容,以便逐行处理或提取所需的信息。本文将介绍如何使用Python逐行读取文本文件,并提供代码示例。

读取文本文件的基本方法

Python提供了多种方法来读取文件。在读取文本文件时,最常用的方法是使用open()函数和readline()方法。

首先,我们需要使用open()函数打开文本文件。该函数接受文件名和打开模式作为参数,并返回一个文件对象。例如,要打开名为example.txt的文件并进行读取,可以使用以下代码:

file = open('example.txt', 'r')

在打开文件后,我们可以使用readline()方法逐行读取文件的内容。readline()方法会返回文件的下一行作为字符串。每次调用readline()方法时,文件对象的指针都会移动到下一行。例如,以下代码逐行读取文本文件并打印每一行:

file = open('example.txt', 'r')
line = file.readline()
while line:
    print(line)
    line = file.readline()

上述代码会读取example.txt文件的每一行,并逐行打印出来,直到文件的末尾。可以根据需要对每一行进行进一步处理。

使用with语句

在处理文件时,我们通常使用with语句来自动关闭文件。with语句会在代码块执行完毕后自动关闭文件,无需手动调用close()方法。

以下是使用with语句逐行读取文本文件的示例代码:

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

完整示例

现在,让我们来看一个完整的示例。假设我们有一个名为example.txt的文本文件,其内容如下:

This is line 1.
This is line 2.
This is line 3.

我们想要逐行读取该文件的内容,并在每一行前添加行号。

下面是实现该功能的代码:

with open('example.txt', 'r') as file:
    line_number = 1
    line = file.readline()
    while line:
        print(f"Line {line_number}: {line}")
        line_number += 1
        line = file.readline()

运行上述代码后,我们将得到以下输出:

Line 1: This is line 1.
Line 2: This is line 2.
Line 3: This is line 3.

通过逐行读取文件,我们可以方便地对文本内容进行逐行处理和提取所需的信息。

总结

本文介绍了如何使用Python逐行读取文本文件的方法。我们学习了使用open()函数和readline()方法来读取文件的每一行,并使用with语句来自动关闭文件。我们还通过一个完整的示例演示了如何逐行读取文件并添加行号。

逐行读取文本文件在处理大型文件或需要逐行处理的情况下非常有用。希望本文对您理解和应用该技术有所帮助!


参考代码:

with open('example.txt', 'r') as file:
    line_number = 1
    line = file.readline()
    while line:
        print(f"Line {line_number}: {line}")
        line_number += 1
        line = file.readline()

流程图:

flowchart TD
    A(开始)
    B(打开文件)
    C(读取一行)
    D(判断是否到达文件末尾)
    E(打印行号和行内容)
    F(行号加一)
    G(读取下一行)
    H(关闭文件)
    I(结束)

    A-->B-->C
    C-->D-->E
    D-- 是 -->E
    D-- 否 -->I
    E-->F-->G-->C
    I-->H