@sukatyseryozno · Post #6885 · 25.11.2025 г., 17:16
#irl
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
Пребарај: #irl
@sukatyseryozno · Post #6885 · 25.11.2025 г., 17:16
#irl
Hashtags
@masyanyarus_art · Post #4310 · 18.04.2026 г., 19:16
Мы были в гостях, так что я наделала фоток везде где зацепился глаз 🦈 #irl
Hashtags
@masyanyarus_art · Post #4300 · 16.04.2026 г., 04:23
Внезапная утренняя фотосессия ползунов! У меня умилятор чуть не треснул, когда я на фото разглядела, что на улитке маленькая улитка! Я сначала думала что что-то к панцирю прилипло! В целом прикольно! Если бы мы еще могли погулять, то еще что-то прикольно встретили бы точно! Но работа 🤡 С Добрым утром ☀️ #irl
Hashtags
@masyanyarus_art · Post #4293 · 14.04.2026 г., 14:12
Всем привет! Сегодня я тюлень, потому что мне всё лень голова болит. В конце рабочего дня чет накрыло. 😐 Вот вам цветочки красивые, люблю этот цвет ✨ #irl
Hashtags
@masyanyarus_art · Post #4280 · 09.04.2026 г., 06:15
Тяжело сделать 1 ракурс спустя сутки 😐 Наконец-то я отстригла эти 3 волосины, месяца 2 думала 🤡 И я хочу сказать, на сколько офигенно когда делают что просят. У меня просто была травма ситуация с парикмахером, которая уговаривала меня не стричься 😕. Пыталась пугать меня тем что волосы могут больше не отрасти😏. Еле-еле отстригла мне волосы по плечи и... и больше я к ней никогда не приходила, да и переехали мы в другой город потом. А позже я себе сделала каре с которым я отходила 5 лет, потом года 4 отращивала волосы. На 5-й год волосы остановили рост, потому что они в целом у меня длиннее никогда не вырастали(да, есть тема что волосы вырастают у всех разной длины)😎 Так что, жалею ли я? Вообще нет) Через 4 года они будут той же длины, если захотят и я им это позволю + у Игоря новая стриженая жена😏 #irl
Hashtags
@masyanyarus_art · Post #4279 · 09.04.2026 г., 06:01
Прогрев. #irl
Hashtags
@masyanyarus_art · Post #4275 · 02.04.2026 г., 19:16
Птичьи танцы🕺 Я в восторге, что мне удалось это не только увидеть, но и заснять🛏 #irl
Hashtags
@masyanyarus_art · Post #4265 · 30.03.2026 г., 14:02
Уже не первый год крокусы цветут на той полянке и радуют глаз☀️ #irl
Hashtags
@masyanyarus_art · Post #4252 · 28.03.2026 г., 20:37
Сегодня была просто шикарная погода, я нисколько не жалею что мы выбрались погулять! И не просто погулять - мы взяли раскладные кресла, купили покушать, пришли на берег и в креслах на солнышке поели ✨ 🤡 ✨. А потом прогулялись. Афигенно! ✨ #irl
Hashtags
@masyanyarus_art · Post #4244 · 26.03.2026 г., 04:30
Доброе утро ☀️ Сегодня свежо, но рассвет красивый! #irl
Hashtags
@masyanyarus_art · Post #4236 · 24.03.2026 г., 14:04
Весна идёт! Весне дорогу! ☀️ ☀️ ☀️ #irl
Hashtags
@masyanyarus_art · Post #4231 · 22.03.2026 г., 08:32
Доброе утро ☀️ #irl
Hashtags