6
struct.unpack_from
と同じ方法で、readinto()
メソッド呼び出しをbytearray
内のオフセットにどのように使用できますか?bytearrayをオフセットで読み込みますか?
struct.unpack_from
と同じ方法で、readinto()
メソッド呼び出しをbytearray
内のオフセットにどのように使用できますか?bytearrayをオフセットで読み込みますか?
memoryview
を使用してジョブを実行できます。例えば:
dest = bytearray(10) # all zero bytes
v = memoryview(dest)
ioObject.readinto(v[3:])
print(repr(dest))
はiObject.readinto(...)
は、このコードプリントをバイト1、2、3、4、および5を読み取ると仮定すると:またstruct.unpack_from
とstruct.pack_into
とmemoryview
オブジェクトを使用することができ
bytearray(b'\x00\x00\x00\x01\x02\x03\x04\x05\x00\x00')
。たとえば:
dest = bytearray(10) # all zero bytes
v = memoryview(dest)
struct.pack_into("2c", v[3:5], 0, b'\x07', b'\x08')
print(repr(dest))
このコードを印刷
bytearray(b'\x00\x00\x00\x07\x08\x00\x00\x00\x00\x00')
私の意図は、オフセットでのByteArrayに直接読み込まれ、すべての中間コピーを避けるためです。 –
私はあなたが望むことをやっていると思う 'memoryview'クラスを使って、私の答えを編集しました。 – srgerg
このメモリビューのフォームは、私が望んだものを達成しているようです。 struct.unpack_intoで同様のことを行い、オフセットの代わりにmemoryviewを使用した場合、それは同じでしょうか?このような場合は、残りの回答を削除してこれに焦点を当ててください。 –