首页 >后端开发 >Python教程 >如何在Python中高效地读取大文件中的特定行?

如何在Python中高效地读取大文件中的特定行?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-12-10 03:18:13981浏览

How Can I Efficiently Read Specific Lines from a Large File in Python?

Python 中特定行的文件读取

处理大型文本文件时,通常需要只读取特定行而不是整个文件。这可以优化性能并节省内存。 Python 提供了无需将整个文件加载到内存中即可实现此目的的方法。

使用行号读取特定行

假设您想从一个文件中读取第 26 行和第 30 行大文本文件。一种简单的方法是打开文件并使用 for 循环迭代以下行:

fp = open("file")
for i, line in enumerate(fp):
    if i == 25:
        # 26th line
    elif i == 29:
        # 30th line
    elif i > 29:
        break
fp.close()

请注意,第 n 行为 i == n - 1。这允许您精确指定所需的行号。

或者,如果您使用的是 Python 2.6 或更高版本,则可以使用以下语法:

with open("file") as fp:
    for i, line in enumerate(fp):
        if i == 25:
            # 26th line
        elif i == 29:
            # 30th line
        elif i > 29:
            break

此方法会自动处理文件关闭并且更加简洁。

以上是如何在Python中高效地读取大文件中的特定行?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn