Python将二进制数据缓冲区拆分为特定大小的块,并将它们存储在变量中
我有以下代码:Python将二进制数据缓冲区拆分为特定大小的块,并将它们存储在变量中,python,Python,我有以下代码: tag_and_data = bin_file_obj.read(chunk_size) 然后,我使用切片根据字节大小将其分为两个变量(标记的前16个字节,数据的其余所有字节),如下所示: tag, data = tag_and_data[16:], tag_and_data[:16] 我能用一行完成上面的工作吗?是否有任何内置方法(如split())根据字节大小对数据进行分段并将其解压为变量 我认为没有内置的解决方案,但您可以这样写: def decompose_tag_a
tag_and_data = bin_file_obj.read(chunk_size)
然后,我使用切片根据字节大小将其分为两个变量(标记的前16个字节,数据的其余所有字节),如下所示:
tag, data = tag_and_data[16:], tag_and_data[:16]
我能用一行完成上面的工作吗?是否有任何内置方法(如split())根据字节大小对数据进行分段并将其解压为变量 我认为没有内置的解决方案,但您可以这样写:
def decompose_tag_and_data(tag_and_data):
return tag_and_data[16:], tag_and_data[:16]
然后像这样称呼它:
tag, data = decompose_tag_and_data(bin_file_obj.read(chunk_size))
有一个明显的扩展:
def decompose(data,index):
return data[:index],data[index:]
但是以pythonesque的方式扩展它以支持多个索引是我无法理解的。我认为没有内置的解决方案,但您可以这样写:
def decompose_tag_and_data(tag_and_data):
return tag_and_data[16:], tag_and_data[:16]
然后像这样称呼它:
tag, data = decompose_tag_and_data(bin_file_obj.read(chunk_size))
有一个明显的扩展:
def decompose(data,index):
return data[:index],data[index:]
但以pythonesque的方式扩展它以支持多个索引是我无法理解的