如何从Python中读取文件的两个不同位置?

时间:2015-02-24 20:19:52

标签: python file-io

我有一个简单的open调用创建的文件描述符。我希望将它传递给单独的函数,同时保持其在函数范围内的位置。

假设我有这两个功能:

OFFSET_TABLE_OFS = 64

def next_ofs(handle):
    handle.seek(OFFSET_TABLE_OFS)
    while True:
        ofs = struct.unpack('I', handle.read(4))
        if ofs == 0xFFFF:
            return None
        yield ofs

def parse_at(handle, ofs):
    handle.seek(ofs)
    parsed_stuff = handle.read(256)

这里的问题是,如果我有一个非常长的偏移表并且不想或者不需要一次加载所有它。在一个小应用程序中,很容易在继续读取之前解析之后简单地寻找已知的偏移量,但这可能有很多复杂性。有没有更好的建议来处理这个问题?

0 个答案:

没有答案