Можно ли в 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
🚢AD Ports нацеливается на Черное море через партнерство с портом Констанца.
Группа AD Ports Group подписала рамочное соглашение с румынской National Company Maritime Ports Administration SA для изучения инвестиционных возможностей в порту Констанца — крупнейшем порту Черного моря.
Соглашение предусматривает потенциальные вложения в развитие инфраструктуры, внедрение цифровых решений и экологических стандартов.
Порт Констанца обработал около 88 млн тонн грузов и порядка 1 млн TEU в 2025 году, выступая ключевым узлом, связывающим морские маршруты с внутренними водными путями через Дунай.
С отраслевой точки зрения сделка отражает стратегию AD Ports Group по развитию Middle Corridor — альтернативного торгового маршрута между Китаем и Европой через Центральную Азию и Кавказ.
Расширение в Черноморском регионе усиливает логистическую связность и диверсифицирует маршруты поставок.
Дополнительно проект подчеркивает растущую конкуренцию за контроль над ключевыми транзитными узлами, где интеграция портовой, логистической и цифровой инфраструктуры становится критическим фактором конкурентоспособности.
📌AD Ports Group — основана в 2006 году, публичная компания, принадлежит инвестиционному холдингу ADQ, контролируемому правительством Абу-Даби (ОАЭ).
#ports#logistics#BlackSea#shipping#trade
🚢Словакия нацелена на газ из румынского офшорного проекта Neptun Deep.
Словакия заявила о заинтересованности в поставках газа с проекта Neptun Deepв Чёрном море.
Проект, реализуемый OMV Petrom и Romgaz, оценивается в 100 млрд куб. м запасов и должен начать добычу в 2027 году. К газу также проявляют интерес Германия и Венгрия.
С операционной точки зрения, развитие Neptun Deep усиливает роль Чёрного моря как альтернативного источника газа для Европы и снижает зависимость от традиционных поставщиков.
Для рынка это сигнал роста региональной энергетической интеграции и увеличения спроса на инфраструктуру транспортировки газа.
📌OMV Petrom S.A. — основана в 1997 году, крупнейшая нефтегазовая компания Румынии; контрольный пакет принадлежит австрийской OMV AG, при участии государства Румыния.
#Gas#Offshore#Europe#Energy#BlackSea
🚢Ставки на зерновые перевозки из Чёрного моря продолжают рост.
Фрахтовые ставки на перевозку зерна из Чёрного моря демонстрируют устойчивый рост по всем сегментам.
Для малого тоннажа (коустеров) - ставки достигают $30–32/т в Мармаре и до $55–57/т в Испании, тогда как крупнотоннажные балкеры типоразмера Panamax на маршруте в Южный Китай фиксируются на уровне $49–51/т.
В сегменте балкеров типоразмера Handysize - ставки на перевозку в Восточное Средиземноморье находятся в диапазоне $26–28/т, а для подтипа Small Handysize: $28–30/т, что отражает общий рост затрат.
С операционной точки зрения, ключевым драйвером остаётся рост цен на бункер на фоне конфликта на Ближнем Востоке, что увеличивает себестоимость рейсов и усложняет согласование сделок между судовладельцами и фрахтователями.
Для рынка это означает усиление волатильности и расширение спредов между ожиданиями сторон, при сохранении восходящего тренда ставок.
📌Источник: рынок/брокерская оценка (Black Sea grain market) — данные основаны на оценках участников рынка и фрахтовых брокеров, формирующих фрахтовые ориентиры в регионе.
#DryBulk#Grains#BlackSea#Freight#Shipping
🚢Черноморский рынок зерновых: ставки стабилизируются при снижении активности.
На неделе 15/2026 ставки на перевозку зерновых из Украины демонстрируют признаки стабилизации с умеренной коррекцией в сегменте Нandysize.
Для малотоннажного "coaster"-сегмента ставки остаются в диапазоне $28–30/т на Мармару, $36–38/т на Восточное Средиземноморье и $55–57/т в Испанию.
В сегменте балкеров типоразмера Small Handysizе (15-20K tdw) ставки варьируются от $26–28/т на Мармару до $52–54/т в Испанию, тогда как балкеры типоразмера Рanamax на направлении в Южный Китай оценивается на уровне $50–52/т., что указывает на сохраняющийся спрос на дальние маршруты при умеренной активности в региональных перевозках.
С отраслевой точки зрения рынок демонстрирует временное замедление, связанное с сезонным фактором (период пасхальных праздников) и ограниченным количеством спотовых грузов, что привело к снижению количества сделок и расширению спрэда между ожиданиями судовладельцев и предложениями фрахтователей.
При этом сегмент малого тоннажа ("coaster") - остается стабильным, а общее снижение активности не привело к значительному падению ставок. Это свидетельствует о сохранении базового баланса рынка, несмотря на краткосрочные колебания.
Таким образом, рынок находится в фазе временной паузы, где дальнейшее движение ставок будет зависеть от восстановления грузопотоков и сезонной активности.
📌Dynamic Shipbroking Inc. — основана в 2009 году, частная брокерская компания, базируется в Греции, принадлежит частным партнерам.
#drybulk#grain#BlackSea#freight#shipping
🚢Румыния консолидирует Черноморскую логистику через покупку оператора порта Джурджулешты.
Румыния завершила приобретение оператора порта Джурджулешты (Молдова) — ICS Danube Logistics — через Национальную компанию «Администрация морских портов Констанцы».
Сделка рассматривается как стратегический шаг для усиления позиций страны в Черноморском регионе.
Актив будет интегрирован в логистическую систему порта Констанца, что позволит расширить портовую связь и укрепить роль Румынии в транспортных коридорах Центральной и Юго-Восточной Европы.
С отраслевой точки зрения приобретение отражает усиливающуюся конкуренцию между портами региона, где контроль над ключевыми узлами и доступ к внутренним рынкам становятся критическими факторами.
Дополнительно развитие инфраструктуры, включая дорожные и портовые связи (в частности, с портом Галац), направлено на создание интегрированной логистической сети и повышение пропускной способности.
Румыния делает ставку на консолидацию портовых активов и развитие мультимодальных коридоров для усиления своей роли в региональной торговле.
📌ICS Danube Logistics SRL — основана в 2004 году, оператор порта Джурджулешты, ранее принадлежала частным инвесторам, в 2026 году перешла под контроль государства Румынии через порт Констанца.
#ports#BlackSea#logistics#Romania#trade
🔍 US military patrol plane spotted near Crimea. More NATO spy planes detected over Romania and Black Sea. Is something brewing? 🛩️🕵️♂️ Beware the eyes in the sky! Stay tuned for more updates. 💥💣#GeopoliticalTensions#NATO#BlackSea#Crimea#Surveillance
https://www.gazeta.ru/army/news/2023/09/27/21379327.shtml
Subscribe to @BadVolfNews
🚢Черноморские ставки растут на фоне подорожания бункера.
Согласно еженедельному Short Freight Report (Week 10/26), фрахтовые ставки на перевозки зерна из Украины демонстрируют рост на фоне увеличения стоимости топлива и геополитической напряжённости.
В сегменте Coasters ex-Ukraine ставки составляют:
— Мраморное море: $27–29/т
— Восточная Греция: $32–34/т
— Испания (Средиземноморье): $47–49/т
Для тоннажа типа Small Handy ex-Ukraine:
— Мраморное море: $25–27/т
— Восточная Греция: $29–31/т
— Испания (Средиземноморье): $44–46/т
В сегменте Handysize:
— Восточное Средиземноморье: $22–24/т
— Испания (Средиземноморье): $26–28/т
Для Panamax ex-Ukraine: ставки на направлении Южный Китай достигают $45–47/т.
По оценке рынка, начало марта принесло новые вызовы для Черноморского судоходства.
Рост цен на бункер (VLSFO +$50 и MGO +$100 за неделю) и геополитические риски вынуждают судовладельцев повышать фрахтовые индикативы. Ставки на маршрутах Украина–Средиземноморье уже выросли примерно на $2/т за последние недели.
📌 Операции в регионе остаются сложными для судовладельцев и фрахтователей, требуя большей гибкости при заключении контрактов и планировании рейсов.
#BlackSea#DryBulk#FreightRates#GrainTrade#ShippingMarket
🚢TPAO и Shell запускают офшорную разведку в болгарской части Чёрного моря.
Турецкая государственная компания Turkish Petroleum Corporation (TPAO) подписала соглашение о партнёрстве с Shell plc по разведке нефти и газа на участке Block 1-26 Khan Tervel в исключительной экономической зоне Болгарии.
Лицензионная площадь превышает 3 800 км² и расположена вблизи турецкого месторождения Sakarya в Чёрном море. Соглашение предусматривает пятилетний этап сейсморазведки с возможностью перехода к бурению разведочной скважины.
Проект вписывается в стратегию международной экспансии TPAO. В 2026 году компания также заключила соглашения с ExxonMobil, Chevron и BP.
Расширение разведочной активности в Чёрном море отражает стремление Турции диверсифицировать ресурсную базу и укрепить энергетическую безопасность региона.
📌Turkish Petroleum Corporation (TPAO) основана в 1954 году и является государственной нефтегазовой компанией Турции, полностью контролируемой правительством страны.
#offshore#BlackSea#TPAO#Shell#energyexploration