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

Резултати

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

Пребарај: #crisisdeestado

当前筛选 #crisisdeestado清除筛选
Communia

@communia · Post #37208 · 09.10.2023 г., 11:15

#Israel. Lo que queda de la intelgentzia israelí le dice a la burguesía que lo que hizo la ofensiva de #Hamas posible fue la #crisispolítica devenida en #crisisdeestado, con unos servicios con la cabeza puesta en el control social y el mercado industrial/startup, un ejército convertido en policía al servicio de los ultras religiosos y una dirección política copada por un grupo de bandas sectarias de la #pequeñaburguesía más bruta y reaccionaria en las que el discurso racista y genocida desarmó las perspectivas de alcanzar un equilibrio estable con la #ANP. «Aunque Israel tiene satélites, potentes drones de vigilancia y otras herramientas tecnológicas avanzadas, no reconoció que Hamás había reunido fuerzas y lanzado parapentes de asalto con el apoyo de miles de personas a lo largo de la frontera.» «Es difícil encontrar palabras para describir las FDI de hoy. Veremos cómo funciona más adelante en la guerra, pero vale la pena señalar un hecho antiguo y bien conocido: la calidad de un ejército se decide principalmente por la calidad del enemigo.Cuando el enemigo son los civiles palestinos y cuando las tropas de las FDI pasan más tiempo protegiendo los asentamientos y los fieles religiosos en la Tumba de José en Nablus que en un entrenamiento riguroso, el resultado es claro.» «No es necesario decir mucho sobre el liderazgo político actual. Eche un vistazo a la composición del gabinete de seguridad, escuche las filtraciones que surgieron de su reunión, observe el comportamiento de Netanyahu y escuche el tsunami de maldiciones que los miembros de su coalición lanzaron contra los mejores oficiales de las FDI. Qué vergüenza y desastre.» «Deberíamos recordar esta lección cuando Netanyahu habla de venganza y los comentaristas de televisión se enfurecen exigiendo volver a ocupar la Franja de Gaza y aniquilar a Hamás. El conflicto de Israel con los palestinos ha sido largo y amargo. No renunciarán a su aspiración de tener su propio Estado, y ahora entendemos aún mejor el precio de este conflicto continuo. En última instancia, la respuesta es poner fin a la ocupación e implementar la solución de dos Estados basados ​​en las fronteras anteriores a 1967, preservando y desarrollando al mismo tiempo la fuerza militar.» https://www.haaretz.com/israel-news/2023-10-08/ty-article/.premium/this-is-what-made-the-attack-on-israel-possible/0000018b-0fb9-d2fb-a3df-cfbd13b70000