在 Python 中,处理文本文件时,经常需要逐行读取文件内容。这可以用于各种应用程序,例如文件解析、数据提取和日志分析。本文将探讨如何在 Python 中采用不同的方法来逐行读取文本文件。

Python 逐行读取文本文件(txt)Python 逐行读取文本文件(txt)


Python 逐行读取文本文件(txt)


open() 函数

最基本的方法是使用内置的 `open()` 函数打开文件,然后使用 `readline()` 方法逐行读取文件。例如:

```python with open('file.txt', 'r') as f: for line in f.readlines(): print(line) ```

这种方法简单易用,但它会一次性读取整个文件内容到内存中,这对于大型文件来说效率低下。

for ... in open()

一个更有效的方法是使用 `for ... in open()` 语句,它可以逐行迭代文件内容,而无需一次性加载整个文件。例如:

```python for line in open('file.txt', 'r'): print(line) ```

这种方法使用 Python 的迭代器,在需要时逐行生成内容,从而避免了内存问题。

第三方库

还有一些第三方库提供了方便的逐行读取文本文件的方法。例如:

itertools.isl():`isl()` 函数可以从给定的可迭代对象中提取指定数量的元素。它可以与 `open()` 函数结合使用来逐行迭代文件:

```python import itertools

with open('file.txt', 'r') as f: for line in itertools.isl(f, None): print(line) ```

csv.reader():`csv.reader()` 函数专用于读取 CSV 文件,但它也可以用于逐行读取任何文本文件。它将每行作为列表返回:

```python import csv

with open('file.txt', 'r') as f: reader = csv.reader(f, delimiter='n') for row in reader: print(row) ```

选择适当的方法