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

Резултати

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

Пребарај: #ojoaldato

当前筛选 #ojoaldato清除筛选
Misterchip

@Misterchip2010 · Post #38247 · 20.05.2023 г., 18:08

#OJOALDATO - Lázaro Vinícius ha logrado el SEGUNDO hat-trick para un club de la ciudad de Almería en TODA la historia de La Liga. El primero lo hizo Antonio Guzmán Núñez para la Agrupación Deportiva Almería contra el Salamanca, el 21 de diciembre de 1980. 0 hat-tricks en la… https://t.co/EJvIkWgRz9

Hashtags

Misterchip

@Misterchip2010 · Post #38164 · 16.05.2023 г., 22:08

#OJOALDATO - El Inter ha llegado a la final de la Copa de Europa manteniendo su portería a cero en 5 de los 6 partidos de eliminación directa (sólo concedió algún gol en el encuentro de vuelta de 1/4 contra el Benfica), algo que no lograba ningún equipo desde 2016 (Real Madrid).

Hashtags

Misterchip

@Misterchip2010 · Post #38152 · 14.05.2023 г., 22:10

#OJOALDATO - Al Barcelona le ha tocado celebrar La Liga fuera de casa en 10 de sus últimos 12 alirones: Mendizorroza (1999) Ciutat de Valencia (2005) Balaidos (2006) Son Moix (2009) Camp Nou (2010) Ciutat de Valencia (2011) Vicente Calderón (2013) Vicente Calderón (2015) Nuevo… https://t.co/Borf98ueLR

Hashtags

Misterchip

@Misterchip2010 · Post #38147 · 14.05.2023 г., 22:10

#OJOALDATO - @JoseluMato9 es el primer jugador en la historia del Espanyol que le marca al Real Madrid y al Barcelona en casa y fuera en una misma edición de La Liga. En los últimos 70 años sólo lo habían logrado 5 jugadores (de cualquier equipo): Enrique Morán con el Betis en… https://t.co/XvcMENjOdHhttps://t.co/AxAc4WJrgK

Hashtags

Misterchip

@Misterchip2010 · Post #38144 · 14.05.2023 г., 21:08

#OJOALDATO - Lewandowski es el QUINTO jugador en la historia del Barça que marca 30+ goles (en todas las competiciones oficiales, nacionales e internacionales) en su PRIMERA temporada en el club. Krankl 1978-79 Quini 1980-81 Romário 1993-94 Ronaldo 1996-97 LEWANDOWSKI 2022-23 https://t.co/Jswwa2ICpx

Hashtags

Misterchip

@Misterchip2010 · Post #38097 · 10.05.2023 г., 20:08

#OJOALDATO - El Milan ha concedido 2 goles en los primeros 11 minutos de un partido (en casa, fuera o en campo neutral) por PRIMERA VEZ en TODA la historia de la Copa de Europa.

Hashtags

Misterchip

@Misterchip2010 · Post #38094 · 10.05.2023 г., 20:08

#OJOALDATO - Dzeko (37 años y 54 días) es el SEGUNDO jugador más veterano que marca en una semifinal/final de la UEFA Champions League, sólo por detrás de Ryan Giggs (que le marcó al Schalke en 2011 con 37 años y 148 días). https://t.co/Erh6zLwKRX

Hashtags

Misterchip

@Misterchip2010 · Post #38049 · 07.05.2023 г., 22:08

#OJOALDATO - Fernando Alonso es el NOVENO piloto con 4 (o más) podios después de haber cumplido los 41 años en TODA la historia de la Fórmula 1. Sólo hay DOS precedentes en los últimos 60 años (Jacques Laffite y Jack Brabham). Más podios en Fórmula 1 después de cumplir los 41… https://t.co/ocr98oaTShhttps://t.co/paGCEFKISX

Hashtags

Misterchip

@Misterchip2010 · Post #38048 · 07.05.2023 г., 20:08

#OJOALDATO - @carlosalcaraz es el TERCER hombre que GANA sus CUATRO primeras finales de Masters 1.000 (Miami 2022, Madrid 2022, Indian Wells 2023 y Madrid 2023), tras Michael Chang y Jim Courier. Carlos Alcaraz (2022-2023) es el SEGUNDO hombre que defiende con éxito el título en… https://t.co/pUnSILiAt7https://t.co/eYB5ltVuvu

Hashtags

Misterchip

@Misterchip2010 · Post #38032 · 06.05.2023 г., 22:08

#OJOALDATO - Lucas Torró (Cocentaina, Alicante) es el TERCER jugador nacido en la provincia de Alicante que marca en una final de la Copa del Rey, tras Juan Manuel Asensi (con el Barcelona en 1978) y Guillermo Amor (con el Barcelona, en 1990).

Hashtags

Misterchip

@Misterchip2010 · Post #38025 · 06.05.2023 г., 20:08

#OJOALDATO - David Alaba es el PRIMER jugador austriaco que disputa una final del Campeonato de España. Ni el mítico Hansi Krankl tuvo la ocasión de jugar un partido como este. https://t.co/g5w22c9xlN

Hashtags

123•••910
ПретходнаСтраница 1 од 10Следна