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 слични објави

Пребарај: #deepwater

当前筛选 #deepwater清除筛选

🚢Astro Offshore входит в сегмент ультра-глубоководных работ с судном "Astro Atlas". Дубайская Astro Offshore (входит в группу Adani Group) расширила флот, приобретя судно типа MPSV "Energy Savannah" (2021 г. постройки), которое будет переименовано в "Astro Atlas". "Astro Atlas" - стало крупнейшим во флоте компании и открывает доступ к сегменту ультра-глубоководных операций. Судно длиной 97 метров оснащено системой DP2, краном AHC грузоподъемностью 150 тонн, moonpool и рассчитано на размещение до 100 человек. Судно будет работать по чартеру с Oceaneering International, выполняя задачи в области подводных работ — от строительства и монтажа до обслуживания подводной инфраструктуры. С технической точки зрения "Astro Atlas" способно работать на глубинах свыше 3000*** метров, что значительно расширяет операционные возможности компании и позволяет участвовать в более сложных и капиталоемких проектах. С отраслевой точки зрения сделка отражает растущий спрос на высокотехнологичный офшорный флот в сегменте глубоководных работ. Выход **Astro Offshore в этот рынок подчеркивает тренд на расширение географии операций и усиление конкуренции за проекты с высокой добавленной стоимостью. Дополнительно партнерство с Oceaneering демонстрирует важность кооперации между владельцами флота и технологическими подрядчиками для эффективной реализации сложных офшорных проектов. 📌Astro Offshore LLC — основана в 2019 году, частная офшорная компания, входит в индийский конгломерат Adani Group, принадлежащий семье Адани. #offshore#subsea#shipping#deepwater#energy

🚢SLB получила контракты на глубоководное бурение в Индонезии. Международная сервисная компания SLB (бывшая Schlumberger) заключила несколько контрактов с Mubadala Energy на оказание буровых и скважинных услуг в рамках проекта Tangkuloв Андаманском море (Индонезия). Соглашение охватывает полный цикл интегрированных услуг: направленное бурение, буровые растворы, цементирование, каротаж и испытания скважин. Проект предполагает использование технологий SLB для глубоководных операций, включая системы мониторинга в реальном времени, направленные на снижение операционных рисков и оптимизацию размещения скважин. Первый газ на месторождении планируется до конца 2028 года. Для Mubadala Energy - проект Tangkulo является ключевым активом в портфеле Юго-Восточной Азии и стратегическим элементом расширения газового бизнеса. 📌SLB (Schlumberger) основана в 1926 году и является одной из крупнейших в мире нефтесервисных компаний. Компания публичная (NYSE); капитал распределён между институциональными и частными инвесторами. #offshore#deepwater#Indonesia#oilfieldservices#SLB

🚢Shell запускает буровую программу в Египте с судном "Stena IceMax". Британский энергетический гигант Shell начал много-скважинную буровую кампанию в Средиземном море у побережья Египта с использованием судна "Stena IceMax", принадлежащего шотландской компании Stena Drilling. Шестое поколение буровых судов для ультра-глубоководного бурения (2012 г. постройки) способно работать на глубинах до 10 000 футов. Первым этапом станут разработочные скважины Mina West, затем – разведочные проекты Sirius и Velox. Проект Mina West расположен в концессии Northeast El Amriya. Shell владеет 60% и выступает оператором, партнёром является Kuwait Foreign Petroleum Exploration Company (40%). Работы ведутся в координации с Egyptian Natural Gas Holding Company. ✔️ Египет усиливает геологоразведку: до 2030 года планируется бурение 586 нефтегазовых скважин. ✔️ Возврат Shell к активной оффшорной разведке подтверждает стратегическую роль Восточного Средиземноморья. ✔️ Использование современного бурового судна повышает операционную гибкость и снижает риски при глубоководном бурении. Проект отражает тренд на усиление инвестиций в разведку в условиях стабилизации цен и растущего спроса на региональный газ. 📌Shell ведёт историю с 1907 года (слияние Royal Dutch Petroleum и Shell Transport & Trading). Сегодня это одна из крупнейших мировых энергетических компаний, акции котируются в Лондоне и Амстердаме. Структура владения — публичная, крупнейшие акционеры — международные институциональные фонды. #OffshoreDrilling#MediterraneanEnergy#Deepwater#Shell#OilAndGas