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

Пребарај: #oia

当前筛选 #oia清除筛选

ИЯ / БЕЛЫЙ ЛАБИРИНТ НА КРАЮ КАЛЬДЕРЫ После перехода из Фиры Ия ощущается как награда. Сначала приходит не вид, а простое облегчение: тень, прохладный стакан фраппе, возможность сесть и наконец перестать считать шаги. А потом уже начинаешь замечать всё остальное — белые стены, узкие переулки, голубые двери, яркие пятна бугенвиллии и свет, который здесь будто работает особенно тщательно. Ия устроена как лабиринт, но не запутывает. Улочки то сужаются, то внезапно выводят к открытому краю кальдеры, где взгляд сразу уходит далеко вниз и в сторону моря. Белые дома наслаиваются друг на друга, лестницы исчезают между террасами, купола поднимаются над крышами так, будто их специально расставили для самой узнаваемой картинки Санторини. После более сурового маршрута по склонам острова Ия кажется почти нереальной. Слишком чистые линии, слишком ровный свет, слишком красивое сочетание белого, синего и камня. Но если задержаться чуть дольше, место начинает раскрываться не как открытка, а как живое пространство. Слышны шаги на лестницах, звон посуды из кафе, короткие разговоры, шум ветра между домами. Где-то внизу открывается бухта Аммуди — маленькая, плотная, почти игрушечная с этой высоты, но добавляющая пейзажу глубину и ощущение настоящей жизни за пределами главных видов. К вечеру ритм меняется. Людей становится всё больше, улицы медленно наполняются теми, кто пришёл сюда ради одного и того же момента. Ия начинает собираться на закат, как театр перед началом представления. Кто-то занимает места у стен, кто-то ищет лучший ракурс, кто-то просто стоит у самого края и ждёт, пока небо начнёт менять цвет. Самый известный вид открывается у старой венецианской крепости. Отсюда хорошо видно, как солнце уходит в море, а белые дома постепенно теряют дневную резкость и становятся мягче. Сначала в воздухе появляется золото, потом оранжевый, потом густой красноватый оттенок, и весь край кальдеры будто на несколько минут начинает светиться изнутри. В этот момент Ия замолкает не полностью, но заметно. Слышны щелчки камер, тихие голоса, чей-то смех, а потом — почти общее молчание, когда солнце касается линии горизонта. И становится понятно, почему это место превратилось в одну из самых известных точек Санторини. Не потому что здесь “красивый закат”, а потому что вся деревня будто выстроена ради этого финального света. Когда солнце исчезает, напряжение спадает сразу. Толпа оживает, кто-то аплодирует, кто-то ещё пытается сделать последний кадр, а белый лабиринт постепенно возвращается к своему обычному вечернему ритму. Ия умеет быть переполненной, шумной и очень туристической, но в правильный момент всё равно делает главное — оставляет ощущение, что день закончился на самом краю острова. 📌Микрофакт: после разрушительного землетрясения 1956 года Ия сильно опустела, но позже именно туризм вернул деревне жизнь и сделал её одним из самых узнаваемых мест Греции. #Greece#Santorini#Oia

ФИРА — ИЯ / ПО КРАЮ КАЛЬДЕРЫ Утро в Фире начинается раньше жары. Белые стены ещё не слепят, камень не успел раскалиться, в воздухе держится редкая для Санторини прохлада. Именно в это время маршрут в Ию кажется не испытанием, а правильным решением: идти по краю кальдеры, пока свет мягкий, а остров только просыпается. Первые минуты проходят почти незаметно. Тропа выводит через Фиростефани, дома остаются за спиной, и пространство быстро раскрывается. Слева — белые фасады, террасы и купола, справа — сухие склоны, впереди — длинная линия пути, которая тянется по самому краю древнего вулканического разлома. У Имеровигли масштаб становится особенно ясным. Кальдера отсюда выглядит не просто красивым видом, а следом катастрофы, который до сих пор определяет весь остров. Внизу выступает Скарос — тёмная скала, почти отрезанная от окружающего рельефа. Когда-то это была ключевая крепость Санторини, и отсюда легко понять почему: точка, которая держала под контролем море, подступы и сам остров. Дальше маршрут становится суше и тише. Белых домов меньше, открытого камня и выжженной травы больше. Тропа местами сужается, солнце поднимается выше, и шаг постепенно меняет ритм: уже не прогулка, а ровная работа тела. С одной стороны обрыв, с другой — холмы, выбеленные светом. И всё это время впереди, почти не приближаясь, маячит Ия. Иногда путь даёт короткую передышку: маленькая церковь, низкая стена, участок тени, где можно остановиться и перевести дыхание. Но главный эффект здесь не в остановках, а в постоянном присутствии моря. Оно всё время рядом, глубоко внизу, как неподвижный фон, на котором особенно резко читаются чёрные скалы кальдеры и белые линии домов. Последние километры всегда оказываются длиннее, чем кажутся на карте. Ия сначала выглядит близкой, потом снова отодвигается, и только в самом конце белые дома действительно начинают расти перед глазами. После пустых участков тропы она воспринимается почти как награда: живая, светлая, собранная на краю обрыва так, будто это финальная точка не маршрута, а целого островного сюжета. И в этом главный смысл пути из Фиры в Ию. Он нужен не только ради видов. За эти километры Санторини перестаёт быть набором открыток и становится цельным — сухим, ветреным, вулканическим островом, где красота держится на высоте, жаре, камне и огромном пространстве моря. 📌 Микрофакт: Скарос у Имеровигли был одним из важнейших укреплённых центров Санторини, пока серия сильных землетрясений не лишила его прежнего значения. #Greece#Santorini#Oia#Hiking