メモリ内に断片化された構造があり、連続しているように見えるメモリビューとしてアクセスしたいと考えています。これを行う簡単な方法はありますか、それとも独自のソリューションを実装する必要がありますか?
たとえば、レコードで構成されるファイル形式を考えてみましょう。各レコードには、レコードのコンテンツの長さを指定する固定長ヘッダーがあります。より高いレベルの論理構造は、複数のレコードにまたがる場合があります。断片化されたメモリの場所を単純な連続したバイト配列として認識できれば、より高いレベルの構造の実装が容易になります。
アップデート:
少なくともドキュメントのこの部分に基づいて、Pythonはこの「セグメント化された」バッファタイプを内部的にサポートしているようです。ただし、これは C API のみです。
アップデート2:
私が見る限り、参照されている C API (古いスタイルのバッファーと呼ばれる) は必要なことを行いますが、現在は廃止されており、新しいバージョンの Python (3.X) では使用できません。PEP 3118で指定された新しいバッファ プロトコルは、バッファを表す新しい方法を提供します。この API は、ほとんどのユース ケース (その中でも、表現されたバッファーがメモリ内で連続していないユース ケース) でより使いやすくなっていますが、1 次元配列を完全に自由に配置できる (複数の異なる複数の) ユース ケースはサポートしていません。サイズのチャンク) をメモリに格納します。