Что такое байтовый массив?
Прежде чем мы начнем говорить о двоичных файлах, мы должны рассказать Вам об одном из специализированных классов, которые Python использует для хранения аморфных данных.
Аморфные данные - это данные, которые не имеют определенной формы - это просто последовательность байтов.
Это не означает, что эти байты не могут иметь своего собственного значения или не могут представлять какой-либо полезный объект, например, растровую графику.
Наиболее важным аспектом этого является то, что в том месте, где мы контактируем с данными, мы не можем или просто не хотим ничего о них знать.
Аморфные данные не могут быть сохранены с использованием любого из ранее представленных средств - они не являются ни строками, ни списками.
Должен быть специальный контейнер, способный обрабатывать такие данные.
В Python есть несколько таких контейнеров - один из них специализированное имя класса bytearray - как следует из названия, это массив, содержащий (аморфные) байты.
Если Вы хотите иметь такой контейнер, например, чтобы читать растровое изображение и обрабатывать его любым способом, Вам нужно создать его явно, используя один из доступных конструкторов.
Посмотрите:
data = bytearray(10)
Такой вызов создает объект bytearray, способный хранить десять байтов.
Примечание: такой конструктор заполняет весь массив нулями.