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

Пребарај: #zalgiris

当前筛选 #zalgiris清除筛选
🏆 Info 288 - DEPORTES

@info288_deportes · Post #35993 · 28.11.2024 г., 22:42

🏀🇪🇺Euroliga Zalgiris 70-83 Baskonia#Euroliga#Zalgiris#Baskonia El Baskonia se repuso este jueves ante el Zalgiris y asaltó Kaunas, 70-83, tras remontar 16 puntos en contra gracias a 15 minutos fundamentales que le dieron el primer triunfo lejos de casa en la Euroliga. https://www.marca.com/baloncesto/euroliga/2024/11/28/baskonia-vuelve-ganar-remontadon-zalgiris.html Barcelona 90-97 Real Madrid#Euroliga#Barcelona#RealMadrid Un estratosférico Tavares (24 puntos, 18 rebotes y 2 tapones) y un Campazzo superlativo en la dirección (18 puntos, 5 rebotes y 10 asistencias) permitieron al Real Madrid conquistar el Palau Blaugrana y certificar su primer triunfo a domicilio en la Euroliga (iba 0-5) en un partido vibrante que se decidió tras dos prórrogas (90-97). https://www.marca.com/baloncesto/euroliga/2024/11/28/real-madrid-toma-palau-dos-prorrogas-tavares-campazzo-superheroes.html Otros marcadores Alba 85-103 Maccabi Paris 81-78 Virtus Partizan 78-70 Olympiacos 🏆@Info288_deportes

🏆 Info 288 - DEPORTES

@info288_deportes · Post #35503 · 03.10.2024 г., 21:25

🏀🇪🇺Euroliga Zalgiris 74-67 Barcelona#Euroliga#Zalgiris#Barcelona El Barcelona tardará mucho tiempo en olvidar el nombre de Sylvain Francisco. El escolta del Zalgiris con pasado en el BAXI Manresa firmó un final de partido antológico para ejecutar a los azulgranas, incapaces de detener la eclosión del pequeño jugador francés, que metió 15 de sus 19 puntos en los últimos cinco minutos para sentenciar el partido (74-67). https://www.marca.com/baloncesto/euroliga/2024/10/03/francisco-explota-aniquila-barcelona-kaunas.html Baskonia 88-82 Partizan#Euroliga#Baskonia#Partizan Arrancó el curso europeo 24/25 en el Buesa Arena para el Baskonia en un partido en el que se enfrentaban a un Partizan de Belgrado plagado de estrellas que fue con todo a tierras vitorianas para tratar de llevarse una victoria que acabaron consiguiendo los de Pablo Laso con un marcador final de 88-82 . https://www.marca.com/baloncesto/euroliga/2024/10/03/baskonia-fuerte-casa-resiste-poderio-interior-partizan.html Bayern 97-89 Real Madrid#Euroliga#Bayern#RealMadrid La temporada no ha hecho nada más que comenzar, pero el Real Madrid empieza a sumar demasiados pinchazos en este arranque de curso. Después de caer en la final de la Supercopa de España y de perder en la primera jornada de la Liga Endesa, los blancos acumularon un nuevo traspié en su debut en la Euroliga. https://www.elespanol.com/deportes/baloncesto/20241003/real-madrid-ahoga-ultimo-cuarto-bayern-empieza-mal-pie-euroliga/890661530_0.html Otros marcadores Alba 77-87 Panathinaikos Monaco 93-80 Milano Maccabi 89-82 Asvel 🏆@Info288_deportes