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

Пребарај: #mayakovskaya

当前筛选 #mayakovskaya清除筛选

🚇Ⓜ️ Mayakovskaya: la estación del metro de Moscú que enamoró al mundo En el corazón de Moscú, bajo la plaza Triumfalnaya, se esconde una de las estaciones de metro más emblemáticas y bellas del planeta: Mayakovskaya. Inaugurada el 11 de septiembre de 1938, esta estación no solo marcó un hito en la ingeniería soviética, sino que se convirtió en un símbolo del arte y la visión futurista de la URSS. Diseñada por el arquitecto Alexéi Dushkin, Mayakovskaya fue la primera estación de tipo columna profunda en Moscú, ubicada a 33 metros bajo tierra. Su diseño rompió con los esquemas tradicionales: en lugar de los habituales pilares macizos, se optó por columnas delgadas de acero corrugado, un material hasta entonces reservado para la construcción de dirigibles. Esta elección, arriesgada para la época, fue defendida por Dushkin con el apoyo del ingeniero aeronáutico A. I. Putilov, quien ayudó a convencer a las autoridades de su viabilidad. Pero lo que realmente hace única a esta estación es su techo. Inspirado en la idea de “ventanas al cielo”, el artista Vladímir Frolov, siguiendo bocetos de Alexandr Deineka, creó una serie de 34 mosaicos (originalmente 35) que representan escenas de la vida soviética a lo largo del día: desde el amanecer hasta la noche. Esta obra se tituló “24 horas en la Tierra de los Soviets” y aún hoy deslumbra a los pasajeros. Durante la Segunda Guerra Mundial, la estación sirvió como refugio antiaéreo. El 6 de septiembre de 1941, en plena amenaza nazi, Iósif Stalin pronunció un discurso histórico ante los diputados del Sóviet de Moscú desde el vestíbulo central de la estación. Este hecho consolidó a Mayakovskaya como un símbolo de resistencia y unidad nacional. En 1939, su innovador diseño fue reconocido internacionalmente con el Gran Premio en la Exposición Universal de Nueva York, lo que la catapultó a la fama mundial. Hoy, más de 85 años después, sigue siendo una parada obligatoria para quienes visitan Moscú, no solo por su funcionalidad, sino por su belleza atemporal y su carga histórica. #MetroDeMoscú#HistoriaSoviética#Mayakovskaya#ArteSubterráneo#ArquitecturaRusa ¡Comparte nuestro contenido!❤️ 🖥https://vamosarusia.com 💬@vamosarusia