微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将二进制数据视为文件对象?

如何解决将二进制数据视为文件对象?

这就是StringIO(在Python 2中)和io.BytesIO(在Python 3中)的用途。

解决方法

这是一些现有代码的重要组成部分,我正在尝试将这些代码适应自己的用途。

值得注意的是,这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))。有人知道这样的事吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。