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

Пребарај: #fatah

当前筛选 #fatah清除筛选
Communia

@communia · Post #37244 · 12.10.2023 г., 07:51

#Israel. El juego de Netanyahu -y la burguesía israelí- fortaleciendo a #Hamas contra #Fatah para hacer imposible una #ANP con capacidad de negociación territorial, en el origen del desarrollo de Hamas «Pero las raíces profundas de la viabilidad del ataque asesino de los falangistas nacionalistas islamistas desde la prisión de Gaza contra ciudadanos israelíes en realidad deberían buscarse en un período anterior del mandato de Benjamín Netanyahu como primer ministro –antes de su juicio penal y su alianza con los kahanistas nacionalistas y el golpe judicial, cuando se le consideraba “sensato”, “racional” y “responsable”. Esto se debe a que desde que asumió el cargo de primer ministro por segunda vez en 2009, ese mismo Netanyahu desarrolló y promovió una doctrina política destructiva y retorcida que sostenía que fortalecer a Hamás a expensas de la Autoridad Palestina sería bueno para Israel. El propósito de la doctrina era perpetuar la brecha entre Hamás en Gaza y la Autoridad Palestina en Cisjordania. Eso preservaría la parálisis diplomática y eliminaría para siempre el “peligro” de las negociaciones con los palestinos sobre la partición de Israel en dos Estados, con el argumento de que la Autoridad Palestina no representa a todos los palestinos.» «Gracias a la canalización de millones de dólares qataríes a Gaza, con la repetida aprobación de Netanyuhu como parte de una política deliberada y maliciosa cuyo único objetivo era enterrar la solución de dos Estados, Hamás adquirió capacidades militares desmesuradas en un tiempo relativamente corto. Y eso resultó en la situación actual, que mientras escribo, se ha cobrado la vida de unos 1.000 israelíes.» https://www.haaretz.com/israel-news/2023-10-11/ty-article/.premium/netanyahu-needed-a-strong-hamas/0000018b-1e9f-d47b-a7fb-bfdfd8f30000 https://archive.ph/T6DPk

Libertà è ragione

@libertaeragione · Post #4135 · 14.03.2024 г., 22:02

#Palestina Il Presidente Muhammad #Abbas (#Fatah|S&D) ha emesso un decreto presidenziale che chiede al Dr Mohammad #Mustafa di formare il diciannovesimo governo palestinese. Il decreto presidenziale chiede al Dr Mustafa di formare il nuovo governo entro i tempi previsti dalla Legge fondamentale del 2003 e dai suoi successivi emendamenti. Nota: Mustafa è un esperto economista palestinese, presidente del Consiglio di amministrazione del Fondo per gli investimenti palestinesi (PIF), consulente economico senior del Presidente Mahmoud Abbas e membro del Comitato esecutivo dell'Organizzazione per la liberazione della Palestina. @OsservatorioEsteri

Libertà è ragione

@libertaeragione · Post #4123 · 26.02.2024 г., 08:35

#Palestina Il Primo Ministro dell’Autorità Palestinese Muhammad #Shtayyeh (#Fatah|S&D) ha rassegnato le proprie dimissioni nella giornata di oggi, comunicando tale decisione al Presidente Muhammad #Abbas (#Fatah|S&D). Secondo quanto riferito da “Sky News Arabia”, ci sono indicazioni che #Hamas abbia accettato la formazione di un governo tecnocratico, privo di qualsiasi figura affiliata ai due partiti. @OsservatorioEsteri