structのpack_into/unpack_fromメソッドをつかうと、C言語のような感じでメモリ領域を確保、読み出しが可能です。
何らかの事情で保存領域の使用がタイトだったりとか、C言語で実装されたプロジェクトをPythonで書き換えたりするときに使えますね。
実際のところ
メモリ確保にはctypesを使いますが、arrayもいけるらしいです。
import struct import ctypes style = 'hhl' size = struct.calcsize(style) # 保存するデータ枠の指定 buff = ctypes.create_string_buffer(size) # buffにつめる struct.pack_into(style, buff, 0, *(5, 10, 2)) # buffのなかみを呼び出す struct.unpack_from(style, buff, 0) #>> (5, 10, 2)