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

Резултати

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

Пребарај: #idlib

当前筛选 #idlib清除筛选
BadVolf

@badvolfnews · Post #1227 · 05.11.2023 г., 07:25

Breaking News: Russian Aerospace Forces (VKF) strike illegal armed groups in Syria's Idlib province. Underground hideouts and drone control points of the militants targeted. More updates to follow. Stay tuned. #Syria#Russia#Idlib https://www.gazeta.ru/army/news/2023/11/05/21644227.shtml Subscribe to @BadVolfNews

Marwa Osman/MidEaStream

@Marwa_OsmanLB · Post #3753 · 03.12.2024 г., 05:21

Four main groups are competing for control on the ground in the Syrian Arab Republic. They are: 1. Syrian Arab Army forces: The army, the government’s main military force, fights alongside the Syrian National Defence Forces, a pro-Syrian government paramilitary groups. 2. Syrian Democratic Forces: This Kurdish-dominated, United States-backed group controls parts of eastern Syria. 3. HTS and other allied rebel groups: The *Ha'at Tahrir Al-Sham* is the latest iteration of the al-Nusra Front backed by Qatar, which had pledged allegiance to al-Qaeda until it allegedly severed those ties in 2016. 4. Turkish and Turkish-aligned Syrian insurgents forces: The so-called Syrian National Army, otherwise known as the Free Syrian Army, is a Turkish-backed insurgent force in northern Syria. #Syria#Aleppo#Idlib#HTS#SDF#SAA

Анна Чапман

@chapmananya · Post #256 · 27.02.2018 г., 15:01

«Россия несет ответственность за гибель людей от химического оружия в Сирии» – так утверждает госсекретарь США Рекс Тилерсон. Якобы Башар Асад не выполнил соглашение 2013 года об уничтожении своего химического оружия, травит своих граждан, а мы его защищаем. К слову о выполнении соглашений. Россия свои химарсеналы полностью ликвидировала полгода назад. США – до сих пор нет – говорят, им денег на это не хватает… Что касается Сирии, то не было предъявлено никаких доказательств, что за химатаками стоит правительство Асада, но эти нападения все время пытаются использовать как повод для бомбардировок страны. Тут президент Трамп назвал наши действия в Сирии гуманитарным позором, – мне порой кажется, что политики США никогда не слышали о таких словах, как «стыд» и «совесть». #idlib#Восточнаягута#UN#MiddleEast#ISIS#terrorism#геополитика#easternghouta#Damascus

Анна Чапман

@chapmananya · Post #248 · 23.02.2018 г., 13:00

Российские войска в Сирии переключили основное внимание с северной провинции Идлиб на борьбу с террористами в пригороде Дамаска под названием Восточная Гута. Боевики уже 6 лет держат под контролем территорию возле сирийской столицы, которую можно было бы сравнить с подмосковным городом Королев или Мытищи. Едва наши летчики вместе с сирийскими наземными войсками всерьез взялись за ликвидацию этого оплота террористов, как политики США и даже генсек ООН в один голос начали требовать прекращения операции. Снова обвинения в военных преступлениях, снова заявления о гуманитарной катастрофе, снова надо прекратить страдания «умеренных» террористов. Желаю максимальных успехов российским и сирийским защитникам отечества. А западные политики пускай говорят, что угодно. #idlib#Восточнаягута#UN#MiddleEast#ISIS#terrorism#геополитика#easternghouta#Damascus