Можно ли в Python создавать бинарные файлы? Конечно можно.
Для этого в Python есть следующие инструменты:
▫️ тип данных bytes и bytearray
▫️ открытие файла в режиме wb (write binary) или rb (read binary)
▫️ модуль struct
Про модуль struct поговорим в первую очередь.
Файл в формате JSON или Yaml внутри себя содержит разметку данных. Всегда можно определить где список начался а где закончился. Где записана строка а где словарь. То есть формат записи данных содержит в себе элементы разметки данных.
В binary-файле данные не имеют визуальной разметки. Это просто байты, записанные один за другим. Правила записи и чтения находятся вне файла.
Модуль struct как раз и помогает с организацией данных в таком файле с помощью определения форматов записи для разных частей файла.
Модуль struct преобразует Python-объекты в массив байт, готовый к записи в файл и имеющий определённый вид.
Для этого всегда следует указывать формат преобразования (или, как оно здесь называется - запаковки).
Формат нужен для того, чтобы выделить достаточное количество байт для записи конкретного типа объекта. В последствии с помощью того же формата будет производиться чтение.
При этом следует помнить что мы говорим о типах языка С а не Python.
Именно формат определяет, что записано в конкретном месте файла, число, строка или что-то еще.
Вот какие токены формата у нас есть.
Помимо этого, первым символом можно указать порядок байтов. На разных системах одни и те же типы данных могут записываться по-разному, поэтому желательно указать конкретный способ из доступных. Если этого не сделать, то используется символ '@', то есть нативный для текущей системы.
В строке формата мы пишем в каком порядке и какие типы собираемся преобразовать в байты.
Запакуем в байты простое число, токен "i".
>>> import struct
>>> struct.pack('=i', 10)
b'\n\x00\x00\x00'
Теперь несколько float, при этом нужно передавать элементы не массивом а последовательностью аргументов.
>>> struct.pack('=fff', 1.0, 2.5, 4.1)
b'\x00\x00\x80?\x00\x00 @33\x83@'
Вместо нескольких токенов можно просто указать нужное количество элементов перед одним токеном, результат будет тот же.
>>> struct.pack('=3f', 1.0, 2.5, 4.1)
b'\x00\x00\x80?\x00\x00 @33\x83@'
Теперь запакуем разные типы
>>> data = struct.pack('=fiQ', 1.0, 4, 100500)
я запаковал типы float, int и unsigned long long (очень большой int, на 8 байт)
b'\x00\x00\x80?\x04\x00\x00...'
Распаковка происходит аналогично, но нужно указать тот же формат, который использовался при запаковке. Результат возвращается всегда в виде кортежа.
>>> struct.unpack('=fiQ', data)
(1.0, 4, 100500)
Как видите, ничего страшного!
#lib#basic
#Ethiopia's #Afar Rift provides glimpse into life and death 100,000 years ago
The study of ancient cultures around Ethiopia during the Middle Stone Age (MSA) time period is important for understanding how some of the first Homo sapiens lived and eventually left Africa. Unfortunately, there are not many well-preserved, open-air archaeological sites from the MSA, especially with both human fossils and artifacts. The Middle Awash study area in Ethiopia, however, is one of the few areas with a well-preserved treasure trove of artifacts capable of painting a picture of early human life in Ethiopia. A new study, published in the Proceedings of the National Academy of Sciences, reports on some fascinating findings from this region, giving clues into what life—and death—might have been like.
Life in the Afar Rift
Around 1,800 piece-plotted stone artifacts larger than a centimeter were found, along with 132 animal remains.
https://phys.org/news/2026-04-ethiopia-afar-rift-glimpse-life.html
From the Afar Desert to Article 39: Ethiopia’s Dual Rift. Read more. https://borkena.com/2025/12/21/from-the-afar-desert-to-article-39-ethiopias-dual-rift/#Ethiopia#Afar#politics
TPLF Alleges Federal Gov’t “Carried Out Drone Strike on Tigray Forces” Read more. https://borkena.com/2025/11/07/tplf-alleges-federal-govt-carried-out-drone-strike-on-tigray-forces/#Ethiopia#TPLF#Afar
Afar Diaspora Conference : “Djiboutian regime” playing “detrimental role” Read more.
https://borkena.com/2026/01/04/afar-diaspora-conference-djiboutian-regime-playing-detrimental-role/#Afar#Djibouti#Eritrea#Ethiopia
General Tadesse Led Tigray Interim Administration Takes TPLF Side Over Afar Security Dev’t. Read more. https://borkena.com/2025/11/09/general-tadesse-led-tigray-interim-administration-takes-tplf-side-over-afar-security-devt/#Ethiopia#news#TPLF#Tigray#Afar
Afar Regional State Confirms TPLF Forces Started War, Controlled Six Villages. Read more. https://borkena.com/2025/11/06/ethiopia-afar-regional-state-confirms-tplf-forces-started-war-controlled-six-villages/#Ethiopia#War#Afar#TPLF
AFAR: перспективы и опасности космического туризма
Зачем люди летают в космос? Космонавты и учёные - понятно, они двигают наш прогресс и понимание Вселенной вперёд. Но какая мотивация посетить орбиту у "простого" человека, который отдаёт миллионы долларов за несколько часов наблюдения нашей планеты с огромной высоты? На самом деле многие считают, что в этот момент на путешественника снисходит некое озарение, позволяющее по-новому взглянуть на свою жизнь и существование на Земле в целом. Так ли это? И стоит ли подобный опыт всех усилий? А может быть подобное просветление самообман, и заскучавшим от избытка удовольствий богачам просто хочется чего-то совсем необычного?
"Известно, что актер Уильям Шатнер сказал Джеффу Безосу после полета на корабле Blue Origin, что увидеть космос — все равно что увидеть смерть. «Там внизу синева, а наверху чернота… Это смерть? Это и есть смерть?» — вопрошал Шатнер. Рассматривая тонкость атмосферы, защищающей жизнь на Земле, на фоне необъятности Вселенной, Шатнер был поражен тем, насколько хрупкая оболочка обозначает разницу между человеческим существованием и его отсутствием".
https://theidealist.ru/spacetour/
#AFAR#технологии#космос#туризм#экология
News: Outreach vaccination, screening campaign reaches conflict-hit, remote communities in #Ethiopia
Health teams deployed under the SLL program have identified and vaccinated more than 3,000 zero-dose children in remote areas, with recent campaigns reaching over 40,000 children across #Afar, #Amhara, #Oromia, and #Tigray regions.
The intervention is also addressing Ethiopia’s large population of “zero-dose” children, estimated at 3.9 million, who have not received routine vaccinations due to conflict, geographic isolation, and limited healthcare access.
https://addisstandard.com/?p=56643
A Volcanic Eruption Reported In The Afar Region of Ethiopia. Read more.
https://borkena.com/2025/11/23/ethiopia-a-volcanic-eruption-reported-afar-region/#Ethiopia#News#Afar#Volcaniceruption