以下是一些现有代码的重要部分,我正在努力适应自己的用途。
值得注意的是,self.archive
导致一个庞大的文件,而raw_file
是从这个巨大的文件中提取(痛苦)的二进制数据。
with open(self.archive, "rb") as f:
f.seek(offset)
raw_file = start + f.read(dlen - len(start))
...
f.write(raw_file)
现有代码将类似档案的文件的内容提取到磁盘,但我只需要从这个档案中读取这些存储的文件(如果这有意义的话)。
我需要使用Pygame从这个文件读取几百mbs的数据,主要是作为图像,使用pygame.image.load()
等方法。我不想让这段代码将所有文件的内容写入磁盘,然后在“非二进制”中再次重新读取,我想直接执行pygame.image.load(toVirtualFileObject(raw_file))
之类的操作。有谁知道这样的事情?