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

Пребарај: #sooflower

当前筛选 #sooflower清除筛选

完整图集评论区或帖子下方免费获取 Coser分类: #魔物喵#一北亦北#水淼Aqua#손예은#喵小吉#JANGJOO#桜井宁宁#沖田凜花Rinka#雪琪#小仓千代#軟妹搖搖樂#软妹摇摇乐#雪琪SAMA#疯猫ss#阿包也是兔娘#是三不是世w#日奈娇#秋和柯基#Byoru#小丁#水淼#miko酱ww#二佐Nisa#蜜蜜子Kimmie#星之迟迟#屿鱼#小泉学姐吖#胡桃喵#蜜汁猫裘#byoru#霜月shimo#衣衣#星澜是澜澜叫澜妹呀#虎森森#九柒喵#神沢永莉#真宝#咬一口兔娘#Yiko湿润兔#半半子#双木扶苏#G44不会受伤#神楽坂真冬#Natsuko夏夏子#矢量鱼#小空sora#Seya狮砸#屿鱼Yukako#蠢沫沫#Bangni邦尼#清水由乃#ElyEE子#许枳#白栎Shirly#三度_69#花柒Hana#柒柒要乖哦#凉凉子#清青琴玖#Tina很妖孽呀#不呆猫#清水凪#Joyce_Lin2x#鹿八岁baby#是一只熊仔#雪晴Astra#樱落酱#七月喵子#Zyra秋#小仓千代w#纸悦Etsu_ko#修修猫ww#TiTi#西园寺南歌#yuuhui玉汇#桜桃喵#过期米线线喵#Quan冉有点饿#萌芽儿o0#轩萧学姐#一小央泽#洛璃LoLiSAMA#起司块wii#阿半今天很开心#亚马逊鲶鱼#喵零超可爱#皮皮奶#穆零Mu0#是依酱吖#Shika小鹿鹿#千反田鹿子#封疆疆v#wendydydydy_酱油#rioko凉凉子#阿薰KaOri#云溪溪#奈汐酱nice#麻花酱#星黛鹿鹿i#洛桑w伊梓#Money冷冷#小瑶幺幺#朝霧愛#是一只熊仔吗#Nyako喵子#雨波_HaneAme#KANEKO_咔喵#十悲伤小木十#葛生w#可可小白兔#浅安安#Zia_지아#麻薯好吃#수련수련#Sooflower#香草奶喵#宮本桜#抱走莫子AA#奇行家狗崽#焖焖碳 解压密码: t.me/BiliCosplay 联系方式:@Bilicosplay_bot 防失联中转站:@Nyacos 解压推荐使用:MT管理器(安卓手机),Winrar(电脑),7-zip(电脑),解压专家(ios只能用第三方解压,自带的解压会提示密码错误) 解压教程:本频道已经与b站达成深度合作,不会解压的群友直接在b站搜索"解压教程"或"分卷压缩文件怎么解压"即可 本频道收藏Cosplay,写真资源分享。 频道内写真,图集均为20岁以上已成年女士拍摄,并无未成年。(确信) 觉得不错请发点评论或点下表情回应❤️,你的反馈就是我的动力~

Hashtags

#魔物喵#一北亦北#水淼aqua#손예은#喵小吉#jangjoo#桜井宁宁#沖田凜花rinka#雪琪#小仓千代#軟妹搖搖樂#软妹摇摇乐#雪琪sama#疯猫ss#阿包也是兔娘#是三不是世w#日奈娇#秋和柯基#byoru#小丁#水淼#miko酱ww#二佐nisa#蜜蜜子kimmie#星之迟迟#屿鱼#小泉学姐吖#胡桃喵#蜜汁猫裘#霜月shimo#衣衣#星澜是澜澜叫澜妹呀#虎森森#九柒喵#神沢永莉#真宝#咬一口兔娘#yiko湿润兔#半半子#双木扶苏#g44不会受伤#神楽坂真冬#natsuko夏夏子#矢量鱼#小空sora#seya狮砸#屿鱼yukako#蠢沫沫#bangni邦尼#清水由乃#elyee子#许枳#白栎shirly#三度_69#花柒hana#柒柒要乖哦#凉凉子#清青琴玖#tina很妖孽呀#不呆猫#清水凪#joyce_lin2x#鹿八岁baby#是一只熊仔#雪晴astra#樱落酱#七月喵子#zyra秋#小仓千代w#纸悦etsu_ko#修修猫ww#titi#西园寺南歌#yuuhui玉汇#桜桃喵#过期米线线喵#quan冉有点饿#萌芽儿o0#轩萧学姐#一小央泽#洛璃lolisama#起司块wii#阿半今天很开心#亚马逊鲶鱼#喵零超可爱#皮皮奶#穆零mu0#是依酱吖#shika小鹿鹿#千反田鹿子#封疆疆v#wendydydydy_酱油#rioko凉凉子#阿薰kaori#云溪溪#奈汐酱nice#麻花酱#星黛鹿鹿i#洛桑w伊梓#money冷冷#小瑶幺幺#朝霧愛#是一只熊仔吗#nyako喵子#雨波_haneame#kaneko_咔喵#十悲伤小木十#葛生w#可可小白兔#浅安安#zia_지아#麻薯好吃#수련수련#sooflower#香草奶喵#宮本桜#抱走莫子aa#奇行家狗崽#焖焖碳