Можно ли в 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
⚽️Las Palmas
Deivid renuncia y abandona la UD Las Palmas tras su condena por violencia machista#LasPalmas
El exjugador Deivid Rodríguez ha presentado su dimisión “irrevocable” como adjunto al director deportivo de la Unión Deportiva Las Palmas y ha decidido abandonar el club, tras haber sido condenado en sentencia firme por dos delitos de violencia machista (lesiones y amenazas a su pareja).
En un comunicado, Deivid pide sus “más sinceras disculpas a la víctima y su familia, a la UD Las Palmas, su consejo de administración, directivos, compañeros y a toda la afición” por los actos por los que ha sido condenado.
“Todavía me cuesta creer lo ocurrido, una conducta que condeno, deploro y me avergüenza. A pesar de que el club ya anunció la apertura de un expediente, siguiendo los protocolos propios de la entidad, conforme a la legislación laboral vigente, soy consciente del daño que he ocasionado al club”, añade.
https://efe.com/deportes/2024-11-16/deivid-renuncia-y-abandona-la-ud-las-palmas-tras-su-condena-por-violencia-machista/
🏆@Info288_deportes
⚽️Las Palmas
Diego Martínez sustituye a Luis Carrión como entrenador de Las Palmas#LasPalmas
El preparador vigués fue entrenador asistente del Sevilla FC entre 2012 y 2014 y dirigió al Sevilla Atlético entre 2014 y 2017, logrando el ascenso a Segunda División. Aquello fue el despegue de una carrera que le llevó a entrenar al CA Osasuna (2017-18), el Granada CF (del curso 2018-19 al 2020-21, logrando el ascenso a Primera y la clasificación europea), el RCD Espanyol (2022-23) y el Olympiacos (2023-24).
"Con más de cien encuentros en LaLiga, el nuevo entrenador de la UD Las Palmas también posee experiencia en competiciones europeas, en las que ha participado liderando el banquillo del Granada CF y Olympiacos (UEFA Europa League)", señaló la UD Las Palmas, que presentará al gallego este miércoles.
https://www.europapress.es/deportes/futbol-00162/noticia-luis-carrion-destituido-entrenador-palmas-20241008152020.html
🏆@Info288_deportes
⚽️Las Palmas
Luis Carrión, destituido como entrenador de Las Palmas#LasPalmas
El entrenador español Luis Miguel Carrión ha dejado este martes de ser entrenador de la UD Las Palmas después de que el club canario haya tomado la decisión de separar sus caminos después de nueve jornadas ligueras en las que aún no ha ganado y solo suma tres puntos, siendo el último clasificado de LaLiga EA Sports, según anunció Las Palmas en un comunicado.
El entrenador barcelonés concluye su etapa tras nueve jornadas en las que la UD Las Palmas ha cosechado tres empates y seis derrotas. Unos resultados que han hecho que el equipo canario ocupe el farolillo rojo de la clasificación y esté a cinco puntos de distancia de los puestos de permanencia en Primera División.
La UD Las Palmas ha querido agradecer al técnico en el comunicado emitido "su dedicación y profesionalidad" y le ha deseado "la mayor de las suertes, tanto a nivel personal como deportivo".
https://www.europapress.es/deportes/futbol-00162/noticia-luis-carrion-destituido-entrenador-palmas-20241008152020.html
🏆@Info288_deportes
⚽️🇪🇸Liga
Barcelona 1-2 Las Palmas#Liga#Barcelona#LasPalmas
Las Palmas prolonga la minicrisis liguera del Barça -tres jornadas sin ganar- después de lograr una gran victoria en Montjuïc con un juego atrevido y una seria defensa que contuvo al líder. Los de Flick ponen en peligro su liderato que sería del Madrid si gana los dos partidos menos que tienen los blancos. El día estaba programado para que la fiesta fuera total en Barcelona. Era la celebración del 125 aniversario del club, estrenaron mascota (Cat), himno especial (L'escut al pit), hasta el uniforme fue diferente con un pantalón blanco recordando al de sus orígenes... pero no contaban con un invitado inesperado en los festejos: el gran partido que hizo la Unión Deportiva Las Palmas. Está claro que Diego Martínez sabe plantear muy bien los partidos ante el Barça -ya lo hizo con el Granada- y en el poco tiempo que lleva en la isla ha cambiado por completo la cara de un equipo que estaba más que hundido hace poco más de un mes.
https://www.marca.com/futbol/primera-division/cronica/2024/11/30/674afde4e2704eb64e8b4570.html
🏆@Info288_deportes
⚽️🇪🇸Liga
Las Palmas 1-1 Real Madrid#Liga#LasPalmas#RealMadrid
El Madrid de Mbappé no arranca. Juega y acierta poco. Lo que parecía un accidente se ha convertido en tendencia con sólo tres jornadas disputadas, suficientes para que el Barça obtenga cuatro puntos de ventaja sobre el campeón. No mereció ganar a Las Palmas que sí tuvo un plan claro y bien ejecutado. Se adelantó pronto, gestionó bien sus posesiones y defendió de manera solidaria, con Cillessen para corregir al final. Ancelotti probó soluciones, pero no acertó a resolver los problemas de un equipo que preocupa.
https://www.marca.com/futbol/primera-division/cronica/2024/08/29/66d0ea20ca4741ce7b8b4582.html
🏆@Info288_deportes
⚽️🇪🇸Liga
Atlético 2-0 Las Palmas#Liga#Atlético#LasPalmas
Que hubiera partido, eso sí, permitió que miles de personas se presentaran en el Metropolitano con Valencia en el pensamiento y ayuda para los perjudicados por la dana. Algunos ni siquiera tenían intención de entrar en el estadio, que por lo social el Atlético sigue en plena guerra civil, pero sí de entregar alimentos, ropa y todo el material posible.
https://www.marca.com/futbol/primera-division/cronica/2024/11/03/6724f54f22601d48588b45a3.html
🏆@Info288_deportes
⚽️🇪🇸Liga
Las Palmas 1-0 Girona#Liga#lasPalmas#Girona
Solo hacía falta un cambio de rumbo. La llegada al banquillo de Diego Martínez ha despertado a Las Palmas, que volvió a ganar -esta vez ante el Girona- y firma un pleno con su nuevo técnico que le saca de los puestos de descenso de manera momentánea. Un gol de Álex Muñoz firmó el triunfo ante los de Míchel y confirmó que el conjunto canario ha encontrado el camino adecuado para creer en la salvación.
https://www.marca.com/futbol/primera-division/cronica/2024/10/26/671d31d6ca4741c4558b4571.html
🏆@Info288_deportes