Como um lê bytes do arquivo em Python

Igual aisto pergunta, eu estou tentando ler em um cabeçalho de tag ID3v2 e estou tendo problemas para descobrir como obter bytes individuais em python.

Eu primeiro li todos os dez bytes em uma string. Então, quero analisar as informações individuais.

Eu posso pegar os dois chars numéricos da versão na string, mas então eu não tenho idéia de como pegar esses dois chars e obter um inteiro deles.

O pacote struct parece ser o que eu quero, mas não consigo fazê-lo funcionar.

Aqui está o meu código até agora (eu sou muito novo em python btw ... então, calma comigo):

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]

Imprimir qualquer valor, exceto é obviamente uma porcaria, porque eles não estão formatados corretamente.

questionAnswers(4)

yourAnswerToTheQuestion