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

Резултати

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

Пребарај: #jp

当前筛选 #jp清除筛选

ss://Y2hhY2hhMjAtaWV0Zi1wb2x5MTMwNTo5MjdiMmVhNi1jMzMxLTQyODctODliYS00ZTQxZTg3NjU3ZWNAY29rZWNsb3VkanAuY29rZWNsb3VkLnRvcDoxOTQzOQ#JP.%E6%97%A5%E6%9C%AC.C%20%7C%20%E9%AB%98%E9%80%9F.2x%E5%80%8D%E7%8E%87 vmess://YXV0bzo5MjdiMmVhNi1jMzMxLTQyODctODliYS00ZTQxZTg3NjU3ZWNAeGNzZ3AuY29rZWNsb3VkLnRvcDoxMDQyMA?remarks=SGP.%E6%96%B0%E5%8A%A0%E5%9D%A1.B%20%7C%20%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1&tfo=1&alterId=0 vmess://YXV0bzo5MjdiMmVhNi1jMzMxLTQyODctODliYS00ZTQxZTg3NjU3ZWNAeGN0cmFuc2ZlcjFzdC5jb2tlY2xvdWQudG9wOjEyNjcy?remarks=HK.%E9%A6%99%E6%B8%AF.E&tfo=1&alterId=0 🍟 节点来源:网友大哥匿名投稿 ⚠️ 恶意刷流量者亲🐎原地爆炸 🥴 多多转发与分享才能激励出更多更好的订阅分享给大家 🤖 投稿助手:@wxdy_bot 🚀 节点分享:@wxdy666

Hashtags

Tomoko RD

@tomoko_channel · Post #1300 · 05.10.2025 г., 12:11

这个初音长得有点抽象,但其实是一个钱包?买晚了 ps. 这边找钱全是硬币 #jp

Hashtags

订阅分享中心

@dingyue_Center · Post #3514 · 29.08.2025 г., 06:04

#投稿 ss://YWVzLTEyOC1nY206OTQwMDMxYTYtZmQzMi00ZDZiLTkwMWQtNzdiN2Y5NDM2OThlQGJsLnN5dGVzLm5ldDo1MDQxNA==#jp%20家宽%20shadowsocks 订阅链接:https://s1.byte33.com/api/v1/client/subscribe?token=柒aa935a0f7cae2b5c8519f9456c69315 总流量:1.00TB 剩余流量:974.82GB 已上传:795.64MB 已下载:48.40GB 该订阅将于2026-07-06 22:49:44 +0800 CST过期,距离到期还有311天8小时56分56秒

Hashtags

Tomoko RD

@tomoko_channel · Post #1337 · 11.10.2025 г., 09:30

D13 上班第四天 随便放一些可公开的街景照(乱序)。 甚至还有 vlog 的,但由于全程第一主角是个肥宅,放出来不太合适,故作罢。留作自己纪念了。(pocket 2 应该架在我肩膀上才对的,失策 #travel#jp

Hashtags

Tomoko RD

@tomoko_channel · Post #1311 · 07.10.2025 г., 01:40

D6 新干线 - 东京 - 新宿 - 池袋 animate 逛完了一栋号称日本最大的 animate 店。发现没有什么心动的东西想要买。 最后竟然是买了原声 CD。嗯,游戏没有通关,动画也没有看完,我都不知道我买了干什么。 PS. 计划是计划,实际以实际为准👻 #travel#jp

Hashtags

Tomoko RD

@tomoko_channel · Post #1305 · 07.10.2025 г., 01:26

D5 岚山苔藓 - 竹林 最最开始这是想坐深夜巴士到东京的,但最后还是不折腾了,来了龟冈这边的酒店住一晚。(这趟行程 7 天 4 家旅店,都有浴缸,日本人好像很喜欢泡澡?) 因为没有预约所以没有坐到岚山小火车。全是苔藓的一天。 #travel#jp

Hashtags

Tomoko RD

@tomoko_channel · Post #1291 · 05.10.2025 г., 00:25

D4 宇治 - 抹茶 - 凤凰堂平等院 - 京吹巡礼 这天来到宇治,总算是第一个稍微远离市区的地方了,非常安静,感觉能听到自己的心跳了。 PS. 我没有出现在照片上啦,而且我也没有看过京吹这动画。 #travel#jp

Hashtags

Tomoko RD

@tomoko_channel · Post #1281 · 02.10.2025 г., 01:23

D3 锦市场 - 新京极 - 八坂神社 这天让 Gemini 特地优化了一下行程后,节奏好了不少(而且总算是可以 11 点再出发了)。基本没有太累。还有坑点就是了: 1. 路线反过来玩比较好,晚上去到八坂神社出不了照片。 2. 而且体力好的时候逛商店倾向于买更多东西😂。 #travel#jp

Hashtags

Tomoko RD

@tomoko_channel · Post #1273 · 02.10.2025 г., 01:00

D2 大阪烧 - NAGASAWA - 骏河屋 - 梅田地下街 睡了一个长觉,算是复活了。这天主要是逛了一下大阪的商业街。 不过计划其实不太好,设计的几个地点中间有多次的列车转换。加上当天也要从大阪到京都。 (不过后续找到了简易优化行程的方案了) #travel#jp

Hashtags

Tomoko RD

@tomoko_channel · Post #1272 · 30.09.2025 г., 13:32

D1 日本环球影城 要说感想,我让想起很多年前去香港迪士尼乐园的游玩感觉,有点相似。推荐要去这里的朋友一定要买加速卷,不然结局就是「排队 2 小时游玩 5 分钟」。顺便可以简单猜猜我一天玩了几个项目。 这个环球影城是 2001 年建立的,这两年分别开了超级马里奥园区和大金刚园区,然后就超级多人,我都有点怀疑这个环球影城是否有淡季一说了。 谜面:排队 2 小时游玩 5 分钟 提示:一个 V 社的游戏名 谜底:Half-Life - 回到酒店,累得整个大脑只剩下「万圣节」了 #travel#jp

Hashtags

Tomoko RD

@tomoko_channel · Post #1265 · 28.09.2025 г., 23:42

D0 飞到大阪 该说是坐了一天的飞机,算是终于落地。十多年没用过浴缸,最后泡到脚底都通红了~~ 大阪真是,到处都是在说普通话,完全不用怕语言障碍。(是吗? PS. 还是非常紧张,幸好有强而有力的同行人 #travel#jp

Hashtags

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