Python中逐行读取文件的两种优雅方法:readlines() vs. 迭代器

作者:微信公众号:【架构师老卢】
12-18 19:13
442

概述:在Python中,逐行读取文件到列表的两种主要方法分别是使用`readlines()`和迭代器。`readlines()`适用于小文件,而迭代器逐行读取适用于大文件,提高内存效率。建议根据文件大小选择合适的方法。以下提供了清晰的示例源代码,帮助读者理解并灵活运用这两种常见的文件读取方式。

在Python中,逐行读取文件到列表有多种方法,下面我将介绍两种常用的方法,并提供详细的实例源代码。

方法一:使用readlines()方法

readlines()方法可以一次性读取文件的所有行,并将它们存储在一个列表中。这是一个简便的方法,适用于文件不是太大的情况。

# 打开文件
with open('your_file.txt', 'r', encoding='utf-8') as file:
    # 使用readlines()方法读取所有行,并去除每行末尾的换行符
    lines = file.readlines()
    lines = [line.strip() for line in lines]

# 打印结果
print(lines)

方法二:使用迭代器逐行读取

这种方法适用于处理大型文件,因为它不会一次性加载整个文件到内存中,而是逐行读取。

# 打开文件
with open('your_file.txt', 'r', encoding='utf-8') as file:
    # 使用迭代器逐行读取文件
    lines = [line.strip() for line in file]

# 打印结果
print(lines)

推荐使用方法二,因为它更加内存高效,特别是当处理大型文件时。下面是两种方法的对比:

  • 如果文件较小,可以选择使用readlines(),因为它更简洁。
  • 如果文件较大,建议使用迭代器逐行读取,以避免一次性加载整个文件到内存中,提高程序的性能和效率。

这两种方法都是常用的文件读取方式,选择取决于你的具体需求和文件大小。