¿Qué es un bytearray?
Antes de comenzar a hablar sobre archivos binarios, tenemos que informarte sobre una de las clases especializadas que Python usa para almacenar datos amorfos.
Los datos amorfos son datos que no tienen forma específica - son solo una serie de bytes.
Esto no significa que estos bytes no puedan tener su propio significado o que no puedan representar ningún objeto útil, por ejemplo, gráficos de mapa de bits.
Los datos amorfos no pueden almacenarse utilizando ninguno de los medios presentados anteriormente: no son cadenas ni listas.
Debe haber un contenedor especial capaz de manejar dichos datos.
Python tiene más de un contenedor, uno de ellos es una clase especializada llamada bytearray - como su nombre indica, es un arreglo que contiene bytes (amorfos).
Si deseas tener dicho contenedor, por ejemplo, para leer una imagen de mapa de bits y procesarla de alguna manera, debes crearlo explícitamente, utilizando uno de los constructores disponibles.
Observa:
data = bytearray(100)
Tal invocación crea un objeto bytearray capaz de almacenar diez bytes.
Nota: dicho constructor llena todo el arreglo con ceros.