Mat*_*ner 7 python io buffer python-3.x
我怎样才能将readinto()方法调用用于a中的偏移量bytearray,就像使用方法一样struct.unpack_from?
srg*_*erg 13
你可以使用a memoryview来完成这项工作.例如:
dest = bytearray(10) # all zero bytes
v = memoryview(dest)
ioObject.readinto(v[3:])
print(repr(dest))
Run Code Online (Sandbox Code Playgroud)
假设iObject.readinto(...)读取字节1,2,3,4和5,则此代码打印:
bytearray(b'\x00\x00\x00\x01\x02\x03\x04\x05\x00\x00')
Run Code Online (Sandbox Code Playgroud)
您也可以使用memoryview物体struct.unpack_from和struct.pack_into.例如:
dest = bytearray(10) # all zero bytes
v = memoryview(dest)
struct.pack_into("2c", v[3:5], 0, b'\x07', b'\x08')
print(repr(dest))
Run Code Online (Sandbox Code Playgroud)
此代码打印
bytearray(b'\x00\x00\x00\x07\x08\x00\x00\x00\x00\x00')
Run Code Online (Sandbox Code Playgroud)