Можно ли в 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
#Kenya flood toll rises to 42 as government pledges support for affected families
The death toll from severe flooding in Kenya has risen to 42 since Friday after heavy rains triggered flash floods across several regions, police said Sunday.
Authorities said 26 of the deaths were recorded in the capital #Nairobi, where floodwaters swept through low-lying neighborhoods and informal settlements, submerging homes and carrying away vehicles as rivers overflowed their banks.
Emergency teams continued search and rescue operations in several parts of the city and surrounding areas.
Police said fatalities were reported in multiple counties as torrential rains battered large parts of the country over the weekend, flooding roads and disrupting transport and daily activities in several towns.
Public Service and Special Programmes Minister Geoffrey Ruku confirmed the death toll while speaking.....
https://web.facebook.com/AddisstandardEng/posts/pfbid021CYKatAuWwqqunu3KNJBCYemyAQc4DLuVfcwBFFJziPnUpDAaSU5FDHztFwHm45ql
#Kenya floods death toll rises to 62, police say
A total of 62 people including eight children have died since heavy rains and flooding hit Kenya’s capital #Nairobi and other areas late last week, police said on Saturday.
The capital was the worst hit with 33 deaths, the force said in a statement on X that updated the official tally of casualties.
More than 2,000 families have been displaced across Kenya and intense rain was continuing in several regions, it added.
Aid workers started pulling bodies from floodwaters across Nairobi on March 7 after overnight flash floods swept away dozens of cars and disrupted flights at #East _Africa’s biggest airport.
A tally issued last Sunday put the death toll at 42.
https://www.scmp.com/news/world/africa/article/3346673/kenya-floods-death-toll-rises-62-police-say
#UN envoy meets RSF leader in #Nairobi to discuss de-escalation in #Sudan
The United Nations Personal Envoy for Sudan, Pekka Haavisto, met with Rapid Support Forces (#RSF) commander Mohamed Hamdan “Hemetti” Dagalo in Nairobi on Monday to discuss practical avenues for de-escalation.
The meeting in the #Kenyan capital is part of Haavisto’s inaugural regional tour. It follows recent discussions in Khartoum with the President of the Transitional Sovereign Council, General Abdel Fattah al-Burhan, as the UN seeks to mediate an end to the nearly three-year-old conflict.
UN spokesperson Stéphane Dujarric described the talks as a “constructive opportunity” to exchange views on protecting civilians. He noted that all stakeholders engaged by Haavisto have expressed readiness to cooperate with the world body.
“This is encouraging and must swiftly translate into concrete progress towards ending.....
https://www.facebook.com/AddisstandardEng/posts/pfbid0KVXwXxdPxbctPJpW5qK7Kwkw63bPeXrmU7q7Bjab37CvbqfZT7SuvSHFZqa4GrN2l
Новый рекорд Гиннесса зафиксировали в Кении 🇰🇪
Труфена Мутони побила мировой рекорд, проведя в объятиях дерева 72 часа.
При этом за установление рекорда обычно не платят деньги, а наградой служит общественное признание. Но при этом девочка заработала 500 000 долларов всего за 72 часа. Как? Да все просто подписчики в Tik Tok подарили ей больше 1200 эмодзи в виде льва - один лев это примерно 400 долларов. Теперь все СМИ пишут про новую героиню в Кении 🇰🇪
Если ты попал в объятия кенийской женщины, то это надолго))
#кения#найроби#африка#kenya#nairobi
🇰🇪Кения вакансия - забирай
Дата аналитик в ООН
Где: Экологическая Программа при ООН, штаб-квартира в ООН.
Что: успешный/ая кандидат/ка будет работать над внедрением BI процессов в организации, собирать данные, работать над дашбордами и заниматься другими интересными задачами
Требования: от пяти лет опыта работы с данными (SQL, Python), желателен опыт работы с Git
Образование: магистратура
Языки: английский, знание другого языка ООН будет плюсом, например, русского
Условия:
зарплата 9000 долларов (tax free) + релокационный пакет, если есть дети то еще покрывают фи на школу/сады международные
страховка хорошая + дип статус в кении
партнер (правда только муж/жена, гражданские не считаются) получает тоже небольшие деньги как dependant
можно тоже красные номера на машину получить
В общем есть все плюшки которые нужны для жизни в Кенни
Подробнее тут👈
Нужно переехать в Найроби
Ребята попросили помочь, говорят срочно нужен хороший кандидат
#кения#найроби#африка#kenya#nairobi
Вчера в Nairobi Street Kitchen прошла очень душевная дегустация вин. Вообще предполагалось, что это будет просто дегустация вин, но сделали хорошую атмосферную тусовку с музыкой. И кстати ассортимент вин - был представлен со всех уголков миры - это нормально, так как в Найроби можно купить почти всё что нужно
И пожалуй самая приятная новость, которую я услышат от друзей вчера - они уже зарегистрировали компанию и получают алкогольную лицензию)
#кения#найроби#африка#kenya#nairobi
И сегодня у нас в гостях необычный человек ( так то самый обычный) - так Максима Невенчанный начал меня представлять в эфире, который мы записали на прошлых выходных.
Смотреть тут
Русские в Африке: Правда о жизни, бизнесе и стереотипах
#кения#найроби#африка#kenya#nairobi
В Гане существует уникальный Музей масла ши (The Shea Butter Museum), основанный предпринимательницей и бывшей королевой красоты Хамамат Монтиа. На текущий момент это единственный в мире музей, полностью посвященный истории, культуре и ремеслу производства масла ши.
#кения#найроби#африка#kenya#nairobi#africa#юар
🇿🇦 Южная Африка призвала Совет Безопасности Организации Объединенных Наций срочно собраться после того, как Соединенные Штаты нанесли, по словам Претории, крупномасштабный военный удар по Венесуэле, включая сообщение о захвате президента Николаса Мадуро - действия, которые, по словам официальных лиц Южной Африки, нарушают Устав ООН и подрывают международный мир и безопасность.
Что в мире происходит ребят?
#кения#найроби#африка#kenya#nairobi#africa#юар
News: #German Foreign Minister Johann Wadephul arrives in #Ethiopia for bilateral talks
German Foreign Minister Johann #Wadephul arrived in Ethiopia on Wednesday for talks aimed at further strengthening bilateral relations, Prime Minister #Abiy Ahmed said.
In a social media post on 22 January 2026, Prime Minister Abiy said he welcomed Wadephul for “meaningful discussions on further strengthening the partnership between Ethiopia and Germany.”
The visit follows Wadephul’s trip to #Kenya on 21 January, where he held talks focused on trade, investment, and regional issues. According to the Kenya News Agency, Germany reaffirmed its commitment to peace and stability in Africa during the visit, recognizing Kenya’s role in regional mediation and global security efforts.
Speaking in #Nairobi, Foreign Minister Wadephul commended Kenya’s contributions to peace initiatives in #Sudan#South_Sudan...
https://web.facebook.com/AddisstandardEng/posts/pfbid0644RpUQ1ujvNhh5mcpfPM4QSrYdTfZ5SqsXujXEroYc4ByBq8fJLLTZsTHvF67R3l