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

Резултати

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

Пребарај: #gpjapón

当前筛选 #gpjapón清除筛选
🏆 Info 288 - DEPORTES

@info288_deportes · Post #35531 · 06.10.2024 г., 07:46

🏍🇯🇵MotoGP: GP de Japón MotoGP: triunfo de Bagnaia y remontada de Martín en Motegi; el Mundial se pone al rojo vivo#MotoGP#GPJapón ras sacar tajada del error de bisoñez de Pedro Acosta y llevarse la carrera corta del sábado, el muchacho de GasGas volvió a quedarse en fuera de juego en los primeros compases de la prueba (vuelta 4) y cuando perseguía de cerca al de Ducati. La caída del murciano creó un cojín a la espalda del italiano que terminó siendo definitivo a su favor. Ni una estratosférica remontada como la que llevó a cabo Martín, que arrancó el undécimo y que en cuatro giros rodaba detrás de Bagnaia, pudo doblegar al buque insignia de la marca de Borgo Panigale, que fue contemporizando y así certificó el cuarto doblete en lo que va de curso. https://es.motorsport.com/motogp/news/bagnaia-victoria-martin-remontada-marquez-podio-resultados-clasificacion/10660837/ Moto2: Manu González vence en el caos; Ogura da un golpe al campeonato#Moto2#GPJapón Manu González fue uno de ellos, y acabó venciendo tras alcanzar y pasar a alguien que había hecho lo mismo, Ai Ogura. Mientras que el español consiguió su primera victoria mundialista, el japonés asestó un golpe al campeonato. Sale de su casa más líder, con 60 puntos sobre Sergio García Dols, 65 sobre Alonso López y 72 sobre Arón Canet, por lo que en el GP de Australia tendrá su primera oportunidad de título. https://es.motorsport.com/moto2/news/cronica-resultados-carrera-moto2-motegi-2024/10660805/ Moto3: David Alonso no falla y se proclama campeón de Moto3 venciendo en Motegi#Moto3#GPJapón Era su primera oportunidad de título, y no perdonó. David Alonso demostró en Motegi por qué ha merecido el título de Moto3 más que nadie, con otra actuación espectacular que le ha llevado a proclamarse campeón del mundo de la categoría pequeña con hasta cuatro carreras de antelación. El pupilo de Jorge Martínez 'Aspar' remontó durante la carrera para dominar sin rival las últimas vueltas, alcanzando su décimo triunfo del año (y el 14º en la clase, batiendo el récord de Fenati). https://es.motorsport.com/moto3/news/cronica-resultados-carrera-moto3-motegi-2024/10660797/ 🏆@Info288_deportes

🏆 Info 288 - DEPORTES

@info288_deportes · Post #35514 · 05.10.2024 г., 07:34

🏍🇯🇵MotoGP: GP de Japón MotoGP: Bagnaia vuelve a la carga y se lleva la sprint en Japón#MotoGP#GPJapón Pecco Bagnaia volvió a la carga en el duelo que mantiene con Jorge Martín por el Mundial, al adjudicarse, en Motegi, su sexta victoria en una prueba al sprint, una carrera que Pedro Acosta dominaba hasta que se fue al suelo, a cuatro vueltas del final. https://es.motorsport.com/motogp/news/bagnaia-victoria-sprint-marquez-podio-resultados-clasificacion/10660593/ Moto2: Dixon consigue una pole extraña por la lluvia#Moto2#GPJapón Jake Dixon saldrá desde la pole en Motegi tras una rara Q2, en la que la lluvia aumentó su intensidad al principio, impidiendo que se bajaran los tiempos. https://es.motorsport.com/moto2/news/cronica-resultados-parrilla-moto2-clasificacion-motegi-2024/10660574/ Moto3: Ortolá, pole bestial; Alonso, tercero para intentar ser campeón#Moto3#GPJapón Iván Ortolá tratará de retrasar el alirón de David Alonso en Moto3 2024 tras conseguir la pole en el GP de Japón. El líder del Mundial saldrá tercero. https://es.motorsport.com/moto3/news/cronica-resultados-clasificacion-moto3-motegi-2024-alonso/10660565/ 🏆@Info288_deportes