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

Пребарај: #memphis

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

@info288_deportes · Post #35886 · 16.11.2024 г., 09:01

🏀🇺🇸NBA Spurs 115-120 Lakers#NBA#Spurs#Lakers Anthony Davis logró 40 puntos y 12 rebotes, LeBron James obtuvo 15 unidades, 16 tablas y 12 asistencias y Los Ángeles Lakers comenzaron la defensa de su título de la NBA Cup el viernes, con una victoria de 120-115 sobre los San Antonio Spurs. James consiguió su cuarto triple-doble consecutivo, la mejor racha de este tipo en su carrera. Victor Wembanyama totalizó 28 puntos, 14 rebotes, cinco asistencias y dos tapas por San Antonio. El miércoles por la noche, alcanzó un récord personal de 50 puntos en una victoria en casa por 139-130 sobre Washington Wizards. https://espndeportes.espn.com/basquetbol/nba/cronica/_/juegoId/401703384 Oklahoma 99-83 Phoenix#NBA#Oklahoma#Phoenix Shai Gilgeous-Alexander lució con 28 puntos y el Oklahoma City Thunder doblegó el viernes 99-83 a los diezmados Phoenix Suns en un encuentro correspondiente además a la NBA Cup. Lu Dort totalizó 15 puntos y nueve rebotes, Jalen Williams agregó 14 unidades y ocho tableros e Isaiah Joe anotó 11 tantos para ayudar a que Oklahoma City mejorara su récord a 11-2. Oklahoma City ostentó una delantera de 25 puntos en la segunda mitad, en camino a su tercera victoria consecutiva sin el pívot lesionado Chet Holmgren. https://espndeportes.espn.com/basquetbol/nba/cronica/_/juegoId/401703387 Warriors 123-118 Memphis#NBA#Warriors#Memphis Draymond Green logró 13 puntos, ocho rebotes y siete asistencias antes de ser expulsado cerca del final del encuentro por dos faltas técnicas en un lapso de 33 segundos, lo que no impidió a los Golden State Warriors superar el viernes 123-118 a los Memphis Grizzlies. En el rudo partido de la NBA Cup, Stephen Curry se sobrepuso a un inicio lento para terminar con 13 puntos, ocho rebotes y cinco asistencias, mientras que Buddy Hield anotó 18 puntos y Moses Moody sumó 14. Jaren Jackson Jr. anotó 32 puntos por Memphis en un enfrentamiento entre equipos con rotaciones profundas que dependen en gran medida de sus suplentes. https://espndeportes.espn.com/basquetbol/nba/cronica/_/juegoId/401703388 Otros marcadores Indiana 111-124 Miami Orlando 98-86 76res Toronto 95-99 Detroit Atlanta 129-117 Washington Cleveland 144-126 Chicago Knicks 124-122 Brooklyn Houston 125-104 Clippers Pelicans 101-94 Denver Sacramento 126-130 Minnesota 🏆@Info288_deportes

🏆 Info 288 - DEPORTES

@info288_deportes · Post #35874 · 14.11.2024 г., 08:01

🏀🇺🇸NBA Lakers 128-123 Memphis#NBA#Lakers#Memphis LeBron James consiguió 35 puntos, 14 asistencias y 12 rebotes para su tercer triple-doble consecutivo, y los Lakers de Los Ángeles remontaron para imponerse el miércoles 128-123 a los Grizzlies de Memphis.Anthony Davis anotó 11 de sus 21 puntos en el último cuarto. Cometió su quinta falta con 3:51 minutos restantes en el tercer periodo y regresó con 6:48 por jugar. Acto seguido, aportó un par de canastas cruciales, incluyendo un triple con 4:51 restantes que puso a Los Ángeles al frente definitivamente por 111-108. https://espndeportes.espn.com/basquetbol/nba/cronica/_/juegoId/401704791 Brooklyn 114-139 Boston#NBA#Brooklyn#Boston Jayson Tatum anotó 36 puntos, prodigó 10 asistencias y capturó ocho rebotes, Jaylen Brown añadió 24 unidades y 12 rebotes, y los Boston Celtics arrollaron el miércoles 139-114 los Brooklyn Nets. Payton Pritchard consiguió 23 tantos, ocho asistencias y seis rebotes por los Celtics, quienes se recuperaron rápidamente y de manera enfática de una sorpresiva derrota del martes, en casa por 117-116 ante Atlanta Hawks. https://espndeportes.espn.com/basquetbol/nba/cronica/_/juegoId/401704784 Spurs 139-130 Washington#NBA#Spurs#Washington Victor Wembanyama logró un récord personal de 50 puntos y los San Antonio Spurs se impusieron el miércoles 139-130 a los Washington Wizards. Wembanyama acertó 8 de 16 disparos de tres puntos, estableciendo también la mejor cifra en su carrera, en un encuentro en que San Antonio logró su segunda victoria consecutiva. Jordan Poole obtuvo 42 puntos por Washington, que sin embargo sufrió su sexta derrota en fila. https://espndeportes.espn.com/basquetbol/nba/cronica/_/juegoId/401704790 Otros marcadores Orlando 94-90 Indiana Knicks 123-124 Chicago 76ers 106-114 Cleveland Oklahoma 106-88 Pelicans Houston 111-103 Clippers Milwaukee 127-120 Detroit Portland 106-98 Minnesota Sacramento 127-104 Phoenix 🏆@Info288_deportes