首页 > 解决方案 > 如何获取超大文本文件中的第 n 个字符?

问题描述

我有一个非常大的文本文件(~40GB),其中包含未分隔的数字。自从我在 python(或更一般的 python)中处理文件 I/O 以来已经有一段时间了,我记得一些使用生成器来访问这些文件的魔法。谷歌几乎没有提供什么具体帮助;似乎每个人都在处理可以逐行访问的格式合理的数据。我需要做的就是读取第 n 个字符,而不会通过向 RAM 中读取太多来破坏内核。有任何想法吗?

标签: pythonfile-io

解决方案


您可以使用f.seek来获取文件中的第 n 个字节。在最常见的编码中,它也是第 n 个字符:

with open("file.txt") as f:
    char = f.seek(N - 1)

推荐阅读