Вопрос, как и вопрос this, я пытаюсь прочитать в заголовке тега ID3v2, и мне трудно понять, как получить отдельные байты в python.Как читать байты из файла в Python
Сначала я прочитал все десять байтов в строку. Затем я хочу разобрать отдельные фрагменты информации.
Я могу захватить два символа номера версии в строке, но потом я понятия не имею, как взять эти два символа и получить из них целое число.
Пакет struct, кажется, является тем, что я хочу, но я не могу заставить его работать.
Вот мой код так далеко (я новичок в Python кстати ... так успокойтесь на меня):
def __init__(self, ten_byte_string):
self.whole_string = ten_byte_string
self.file_identifier = self.whole_string[:3]
self.major_version = struct.pack('x', self.whole_string[3:4]) #this
self.minor_version = struct.pack('x', self.whole_string[4:5]) # and this
self.flags = self.whole_string[5:6]
self.len = self.whole_string[6:10]
Распечатка любое значение, кроме, очевидно, дерьмо, потому что они не отформатирован правильно.
Для «H» вам нужно использовать 2-байтовый срез. – Brian 2008-09-29 21:00:32
Вы правы, я забыл об этом. Я исправлю свой пример, чтобы он работал, но ваш ответ - лучший ответ. – 2008-09-29 22:13:21