TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #241 · 5 мај

Можно ли в 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

Hashtags

Резултати

Пронајдени 3 слични објави

Пребарај: #chinashipping

当前筛选 #chinashipping清除筛选

🚢Китай направляет флот танкеров VLCC в Красное море за саудовской нефтью. Китайские государственные судоходные компании направляют группу супертанкеров VLCC на Красное море для загрузки нефти в саудовских портах. Решение связано с необходимостью поддержать стабильность поставок на фоне ограничений транзита через Ормузский пролив. По данным аналитической платформы Kpler, Китай — крупнейший импортёр нефти в мире — планирует получать около 2,1 млн баррелей нефти в сутки из Саудовской Аравии. Для обеспечения поставок танкеры направляются к терминалам на побережье Красного моря, что позволяет частично обходить рисковые маршруты Персидского залива. Перенаправление крупнотоннажных нефтетанкеров типа VLCC отражает адаптацию глобальных торговых потоков нефти к текущим геополитическим условиям. Использование альтернативных портов увеличивает расстояние перевозок и может дополнительно поддерживать спрос на крупнотоннажные танкеры. Для танкерного рынка это означает рост тонно-мильного спроса и перераспределение потоков в сторону Красного моря и западных саудовских терминалов. 📌COSCO Shipping Energy Transportation Co. — крупнейший танкерный оператор Китая и дочерняя компания государственной группы China COSCO Shipping Corporation, одной из крупнейших судоходных корпораций мира, принадлежащей правительству КНР. #VLCC#OilTrade#ChinaShipping#RedSea#TankerMarket

🚢Dajin Heavy Industry ввела в строй новое судно-площадку дедвейтом 40 000 тонн "King One". Китайская Dajin Heavy Industry официально отправила в первый рейс судно "King One" - первое из 4-х судов-площадок для перевозки негабаритных палубных грузов, дедвейтом около 40 000 т, строящихся на верфи Dajin Penglai Offshore. Судно длиной 240 метров, шириной 51 метров и площадью палубы 12 000 м² предназначено для перевозки компонентов офшорной энергетики для турбин мощностью 15–25 МВт, а также крупных модулей для нефтегазовых проектов. Компания заявляет о планах создать собственный флот из 10–20 сверхкрупных судов-площадок в течение ближайших лет, отвечая на дефицит специализированной транспортной мощности в условиях роста размеров турбин и перехода проектов в более глубокие воды. 📌Dajin Heavy Industry основана в 2000 году и специализируется на производстве конструкций для офшорной ветроэнергетики и тяжёлой морской логистике. Компания публичная (листинг в Шэньчжэне); контроль сосредоточен у китайских частных акционеров-основателей. #offshorewind#heavylift#deckcarrier#ChinaShipping#energytransition

🚢"Offshore Oil 696": в Китае введено в строй первое национальное судно для стимуляции скважин Государственная корпорация China National Offshore Oil Corporation (CNOOC) ввела в эксплуатацию специализированное судно для стимуляции скважин "Offshore Oil 696" (海洋石油696). Судно построено на верфи Wuhu Shipyard по проекту института Shanghai Merchant Ship Design and Research Institute (SDARI), входящего в структуру CSSC. Это первое китайское офшорное судно типа "well stimulation vessel (WSV)" и крупнейшее в мире в своём классе: длина 99,8 метров, ширина 22 метров, дизель-электрическая установка (5 генераторов, 2 азимутальных движителя, выдвижной маневровый движитель и 2 носовых подруливающих устройства). Судно предназначено для закачки кислоты или песчано-жидкостных смесей под высоким давлением для гидроразрыва и повышения дебита скважин. Комплекс оснащён автоматизированными системами смешения и фракционирования, цифровым мониторингом и интеллектуальной диагностикой оборудования. Соответствие требованиям China Classification Society подтверждено. Проект усиливает технологическую автономию Китая в офшорной добыче и снижает зависимость от западных WSV-платформ, традиционно доминирующих в США и Европе. 📌CNOOC основана в 1982 году и является государственной нефтегазовой компанией Китая. Контроль осуществляется правительством КНР через государственные холдинговые структуры. #offshore#wellstimulation#CNOOC#ChinaShipping#oilgas