#python
#python
Вопрос:
У меня есть приведенный ниже код:
tag_and_data = bin_file_obj.read(chunk_size)
А затем я разделяю его на две переменные в зависимости от некоторого размера байта (первые 16 байт для тега и остальные все для данных), используя нарезку, как показано ниже:
tag, data = tag_and_data[16:], tag_and_data[:16]
Могу ли я сделать это в одной строке? Существует ли какой-либо встроенный метод, такой как split(), для фрагментации данных на основе размера байта и распаковки их в переменные?
Ответ №1:
Я не думаю, что есть встроенное решение, но вы бы написали:
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 мне недоступно.