Suponiendo que tiene al menos 3.2, hay una función incorporada para esto :
int.from_bytes ( bytes, byteorder, *, firmado = Falso )
...
Los bytes del argumento deben ser un objeto similar a bytes o un bytes de producción iterable.
El argumento de orden de bytes determina el orden de bytes utilizado para representar el número entero. Si el orden de bytes es "grande", el byte más significativo está al principio de la matriz de bytes. Si el orden de bytes es "pequeño", el byte más significativo se encuentra al final de la matriz de bytes. Para solicitar el orden de bytes nativo del sistema host, use sys.byteorder como el valor del orden de bytes.
El argumento con signo indica si se usa el complemento a dos para representar el número entero.
int.from_bytes(b'\x00\x01', "big")
int.from_bytes(b'\x00\x01', "little")
int.from_bytes(b'\x00\x10', byteorder='little')
int.from_bytes(b'\xfc\x00', byteorder='big', signed=True)
struct
módulo si desea convertir múltiples variables a la vez.