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

Резултати

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

Пребарај: #karin

当前筛选 #karin清除筛选
利姆诺斯岛·深空放送局📡

@limnosdsstation · Post #10994 · 09.04.2026 г., 19:46

#VRchat#karin https://x.com/krkrVRC/status/2041830594519429439 くろくろ。🫠💜 : VRCでメンヘラを製造するのはやめましょう * 呐呐……最近,我们是不是已经很久没有联系过了呢?” “你已经开始觉得我有点烦了,对吧?” “明明在不久之前,你还是那么主动、热情。不管是你为了见我而发来的 Req-In(进房申请),还是想把我留在身边的 Invite(蓝条邀请)……” “还有那些曾经跳个不停的 Discord 私信提醒,你跟我说了那么多那么多的话……那时候只要我一出现在 VRChat 里,你就像风一样,总是能第一时间赶到我身边陪着我……” “然后,我们就成了彼此的唯一。在那之后,原本在我身边的那些朋友,一个接一个地都消失了,于是我理所当然地把你放到了心里最重要的位置……我在这个虚构的世界里,把所有的时间都给了你。” “可究竟为什么……?你为什么会变成现在这种冷淡的样子呢?呐,你告诉我……为什么你变成了这样!!!” “所以……现在正贴在你身边的那个 Karin……她到底是谁啊?” “居然敢背着我,去和别的 Karin 搞在一起……这种事,我绝对绝对、无法原谅哦……”

利姆诺斯岛·深空放送局📡

@limnosdsstation · Post #10941 · 09.04.2026 г., 19:39

#VRchat#karin https://x.com/k424ri/status/2041829632790724890 かざり : だから私を選んで! *Karin: “虽然……我们在一起吧(成为情侣/结婚)这种话,我怎么也说不出口...” “但是,只要像字面意思这样,我们就能一直,永远地在一起(物理)了哦。”

ПретходнаСтраница 1 од 5Следна