如何在 Python 中逐行读取文件?

2024 年 8 月 29 日 | 4 分钟阅读

在 Python 中逐行读取文件在许多数据处理和分析工作流中都很常见。以下是您可以在 Python 中逐行读取文件的方法:

1. 打开文件:打开您想要的文件是第一步。为此,您可以使用内置的open()函数,它接受两个参数:您要打开的文件的名称,以及您要打开的模式。例如,如果您想以只读模式打开名为txt的文件,您可以使用以下代码:

2. 逐行读取文件:打开文件后,您可以使用循环逐行读取其内容。一种方法是使用for() 循环来迭代文件对象。它将自动逐行读取文件,并且每一行都将作为字符串存储在循环变量中。这是一个例子:

在此示例中,每行文件都将存储在 line 变量中,您可以在循环内执行任何您想要的操作。

3. 关闭文件:如果您想在读取完文件后关闭它,可以使用close() 方法。它将释放文件正在使用的任何系统资源。这是一个例子:

在读取完文件后始终关闭文件是一个好习惯,因为它可以防止文件句柄或系统资源出现任何潜在问题。

示例

让我们举一个例子来说明如何逐行读取文件:

在此示例中,我们在使用strip()方法删除任何前导或尾随空格后,将文件的每一行打印到控制台。您可以修改循环内的代码以对文件的每一行执行任何其他您想要的操作。

以下是使用不同技术和方法在 Python 中逐行读取文件的更多示例:

使用 while 循环读取文件

您也可以使用 while 循环和readline() 方法来读取文件,而不是使用for 循环readline() 方法从文件中读取一行并将其作为字符串返回。这是一个例子:

在此示例中,我们首先使用open()函数打开文件。之后,我们调用readline()方法来读取文件的第一行,并将其存储在 line 变量中。在应用了readline() 方法之后,我们进入一个while 循环,只要 line 不是空字符串(这表示我们已到达文件末尾),循环就会继续。在循环内,我们将 line 打印到控制台,并再次调用readline()来读取文件的下一行。最后,我们使用close()方法关闭文件。

使用上下文管理器自动关闭文件

当您使用open()函数打开文件时,您应该始终记得使用close()方法关闭它。但是,如果您的代码很复杂或者您遇到错误,很容易忘记这一点。您可以使用上下文管理器来确保文件始终被关闭。上下文管理器是一种自动管理资源(如文件)并在不再需要时释放它们的​​对象。这是一个例子:

在此示例中,我们使用with 语句创建一个上下文管理器,该管理器打开文件并将其分配给文件变量。之后,与之前一样,我们使用"for"循环逐行读取文件。但是,由于我们使用了上下文管理器,因此我们无需手动关闭文件。当退出代码块时,上下文管理器将为我们处理这个问题。

将文件读入列表

使用readlines()方法将文件读入一个列表,其中列表的每个元素都代表文件中的一行。使用此方法,文件的每一行都被读取并转换为字符串列表,每个字符串代表文件中的一行。这是一个例子: