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

Резултати

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

Пребарај: #afasg

当前筛选 #afasg清除筛选
Rui's Ramble

@RsRamble · Post #813 · 03.12.2024 г., 17:09

"338 up! Suppressing!" 快一个月没修图了,先拿个简单的练练手 是我错觉嘛,枪管歪的? 是这老哥的原创角色↓↓↓↓ 武器他自己说用nerf blaster玩具枪爆改的,我反正信了 1st Sgt Marcel Pieskowicz of the Federation Marine Corps 1st Armoured Regiment Anime Festival Asia 2024 D3 (2024-12-01) #originalcharacter#milsim#cosplay#animeconvention#sunteccity#suntecconventioncentre#afasg#afasg24#singapore

Rui's Ramble

@RsRamble · Post #695 · 24.09.2024 г., 13:51

The surrounding flashes between lit and dim, as the journey she has treaded upon, interpersed with those roads to conventional justice and, cruelly realistically, those leading to what would be widely perceived as a fine piece of venality on display, since her pulling off that narrow escape from a shabby exploitation and betrayal. ↑ 这一段是他发给我的,其实我也没看懂 好友出cos,怎能不帮忙拍一些 少女前线的UMP45 AFA Creators Super Fest 2024 D2 (2024-07-28) #ump45#girlsfrontline#少女前线#cosplay#game#animeconvention#singaporeexpo#afasg#afacsf24#singapore

Rui's Ramble

@RsRamble · Post #611 · 05.08.2024 г., 00:32

没错,这是我…… 准备了许久,看上去还是值得的 亲友耐心拍了近两百张,最后选出来这六张 感触肯定不少,但不想写太多 照骗就照骗,不管了 东方Project的西行寺幽幽子 拍摄于AFA Creators Super Fest 2024 D2 (2024-07-28) #touhou#東方project#saigyoujiyuyuko#yuyukosaigyouji#西行寺幽々子#cosplay#kimono#afasg#afacsf24#singapore

Rui's Ramble

@RsRamble · Post #841 · 28.12.2024 г., 08:23

「可是…为什么,那么遥远呢」 特效是老师自己加的,超绝,我还要多学 宝石之国的磷叶石 Anime Festival Asia Singapore 2024 D3 (2024-12-01) #phosphophyllite#フォスフォフィライト#housekinokuni#landofthelustrous#宝石の国#cosplay#anime#animeconvention#sunteccity#suntecconventioncentre#afasg#afasg2024#singapore

Rui's Ramble

@RsRamble · Post #617 · 05.08.2024 г., 14:47

狂 犬 鼓 手 霸 气 四 射 BanG Dream! 的佐藤益木 拍摄于AFA Creators Super Fest D1 (2024-07-27) #bangdream#バンドリ#raiseasuilen#ras#satoumasuki#masukisatou#masking#佐藤ますき#cosplay#bandoricosplay#game#afacsf24#afasg#afa#singapore