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

Резултати

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

Пребарај: #standwithukraine

当前筛选 #standwithukraine清除筛选
CC垃圾桶

@caliban01 · Post #7615 · 01.08.2025 г., 22:45

@Caliban511(Caliban)-317478871 IMG 065.mp4 https://youtu.be/_FNhKkhc7I4 Info: 1080x1920 22.5MiB 68s Download token count: free 9, pay 0 Downloaded by sg-vu #StandWithUkraine

CC垃圾桶

@caliban01 · Post #7614 · 01.08.2025 г., 22:44

@Caliban511(Caliban)-317478871 세림잉 심뽀찜뽀 (chzzk,twitch).mp4 https://youtu.be/Nj9SxNvvEpM Info: 1920x1080 73.3MiB 141s Download token count: free 9, pay 0 Downloaded by sg-vu #StandWithUkraine

24.02 будет 3 года с начала полномасштабной кровавой войны в Украине. #standwithUkraine — значит быть на стороне тех, кто не сдаётся в борьбе за свою свободу и свое будущее. Это значит выбирать человечность, а не тиранию. Сейчас, как никогда, важно поддержать Украину. В этом году российские активисты Штутгарта приняли решение не проводить своих мероприятий в связи с датой и призвать к максимальной поддержке Украины. Мы знаем, что многие участники нашего сообщества всегда участвовали в акциях, организованных украинской диаспорой, по личной инициативе. Ниже будет репост украинских мероприятий. ❗ВАЖНО❗ В связи с последними тенденциями в российской оппозиции мы считаем необходимым проговорить, что ЛЮБАЯ РОССИЙСКАЯ СИМВОЛИКА НЕ УМЕСТНА на украинских демонстрациях! ❕Большая просьба при участии в акциях, организованных украинцами, НЕ ПРИНОСИТЬ БСБ ФЛАГИ И ТЕМ БОЛЕЕ ТРИКОЛОРЫ❕ Вашего личного участия уже достаточно, чтобы заявить позицию и поддержать людей. We stand with Ukraine 💙💛

Matters | 閲讀精選

@MattersHub · Post #681 · 04.03.2022 г., 23:22

🇺🇦 用 web3 的科技力量關注烏克蘭戰爭 https://reurl.cc/EpLpm1 自從烏克蘭官方推特公開加密錢包地址並接收捐款,Web3 正式踏入烏克蘭戰爭的戰場。Matters 整理了這篇專題,帶你認識加密貨幣在本次戰事發揮的力量,以及更多相關優質文章:https://reurl.cc/EpLpm1 🇺🇦 從烏克蘭戰爭看加密貨幣「參戰」想像 https://reurl.cc/RjEjRG 「首次國際對某件事情的支持可以如此輕易地以加密貨幣實現,而由於去中心化的本質,這何嘗不是顯示了國際上的『民意』。」 🇺🇦 烏克蘭戰爭之Web3觀察:哪些項目方出來說話 https://reurl.cc/OpLpQr 作者整理 Web3 世界有公開站出來 #StandWithUkraine 的項目。不僅僅是捐款,也有藝術創作、利用社群流量進行跨界聲援。 🇺🇦 聚焦烏俄 | 最不幸的一代 https://reurl.cc/VjQj2n 「二十年後的駐莫斯科記者可以說是最不幸的一代。2000年後駐俄羅斯的記者們被迫記錄一個國家走向封閉的過程,信息又在暗中收歸到克里姆林周圍。」 🇺🇦 烏克蘭語與俄羅斯語有何異同 https://reurl.cc/rQ4Q0y 作者做了專業的烏克蘭語及俄語的比較,「儘管把語言和政治、身份、民族等放在一起是語言學界想盡量避免的。但在這個特殊時刻,請不要把烏克蘭語與俄語混為一談。」

Записки из Алатау

@nusimbekov · Post #196 · 24.02.2023 г., 10:42

Бүгін Ресейдің Украина еліне ауқымды соғыс жариялағанына тура бір жыл толып отыр. Бұл күндері әлемнің түкпір-түкпірінде Украинаны қолдайтын акциялар өтіп жатыр. Кадрда: Тарас Шевченко мүсіні, Алматы, Қазақстан, 24.02.2023 ——— Сегодня ровно год с начала полномасштабного российского вторжения в Украину. В эти дни по всему миру проходят акции памяти и солидарности с Украиной. На кадрах: 24.02.2023, памятник Тарасу Шевченко в Алматы, Казахстан. 📷 Малика Ауталипова, Тимур Нусимбеков #StandWithUkraine

123•••10•••20•••2324
ПретходнаСтраница 1 од 24Следна