@The2ndDim · Post #1950 · 31.12.2023 г., 16:00
#Announce HAPPY NEW YEAR 2024
Hashtags
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
Пребарај: #announce
@The2ndDim · Post #1950 · 31.12.2023 г., 16:00
#Announce HAPPY NEW YEAR 2024
Hashtags
@The2ndDim · Post #1946 · 24.12.2023 г., 13:25
#Announce 频道已启用表情回应。
Hashtags
@The2ndDim · Post #1572 · 09.11.2021 г., 18:04
#Announce 如果看到本频道或者别的频道里出现了右下角签名是 sponsored (部分语言包显示 "赞助" 或者 "广告") 的消息,这种消息是来自Telegram的恰饭消息,并非来自对应的频道。 由于币圈🐶大户有钱任性,因此首发投放的广告极其生草:在Telegram的地盘上交钱打广告,打着Telegram曾经宣发但已经终止的数字货币TON的旗号,诈骗Telegram上的用户。 请仔细甄别这些广告的内容以防上当受骗。 // 说真的,就本频道的这点人,要是真有TG官方广告发进来,那是真见了鬼了。(x) // 据说如果频道主不想有广告,还得和广告主竞价。 // TG大会员(x) 据说是有免广告特权。 (这话在TG这里怎么说怎么别扭)
Hashtags
@The2ndDim · Post #1399 · 30.08.2020 г., 16:27
#Announce 可能忘了说,或者需要提醒一下... 本频道是有个附属群组的。这个群组主要是给各位一个发表评论和展开讨论的空间。在群组里也接受各种有趣的主题的投稿。
Hashtags
@nefertaritomb · Post #790 · 05.11.2025 г., 08:35
#announce#gem Ирина Горячева. С древнеегипетского языка на дизайнерский. Опыт работы в GEM. Место: ZOOM Дата и время: 12 ноября 🕕 Начало: 18:00 — Каир и Иерусалим | 19:00 — Москва | 17:00 — Берлин ⏱️ Продолжительность: около 1 часа + время на вопросы 🍀Запись будет *Участие бесплатно, но будем рады поддержке🙏. Регистрация по ссылке
@The2ndDim · Post #1398 · 27.08.2020 г., 14:56
#Announce 即日起 #SilvaGunner 标签 正式更新为 #SiIvaGunner 。 之前的旧标签都已经完成了更新。不过由于缓存的原因,标签检索并没有更新为新的Tag。请点击本消息的两个Tag来进行完整检索。 看起来一样? 前面是小写字母L,后面是大写字母I。 以前确实有过一个小写字母L的名字,而现在的真正的用户名确实是大写字母I。这背后的故事可太多了...
@wigwam_announcements · Post #146 · 27.03.2025 г., 17:10
🔥BeCEXY Portal is LIVE! The hive is buzzing and the moment we’ve all been working toward is finally here. 😁 We’re thrilled to announce the official launch of the BeCEXY Portal! Starting today, you can: 🟣Log in using your email 🟣Join the waitlist and start climbing the ranks 🟣Boost your position by sharing your unique referral link 🔗BeCEXY Portal - becexy.io 📈 This is your first step into the BeCEXY ecosystem, where effort is rewarded and the community thrives. ⌛️Coming soon: connect your Telegram and wallet, apply for the drop, track your status, and unlock even more rewards — all on the Portal. Get in early. Earn your place. #becexy#announce#portal#airdrop