25

このコード スニペット (別の人が作成) では、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.image.loadこのアーカイブ ファイルには保存された画像ファイルが含まれており、File オブジェクトを必要とするそれらにアクセスしたいと考えています。しかし、次のようなことをする必要がありますpygame.image.load(toVirtualFileObject(raw_file))(つまり、最初にディスクに書き込むことなく、このアーカイブ ファイルの内容に File オブジェクトとしてアクセスします)。

これはできますか?

4

1 に答える 1

29

これがStringIO(Python 2 の場合) とio.BytesIO(Python 3 の場合) の目的です。

于 2013-04-15T03:59:08.627 に答える