Можно ли в 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
Друзья, подведем итоги прошедшего фестиваля #WOOF🙂.
Он принес новую семью нашей малышке Кензо!!!🙏
Да, наша девочка с фестиваля #WOOF поехала не назад в приют, а в свой новый дом!
Наша малышка Кензо теперь домашний ребенок!!!❤️
Огромное спасибо организаторам этого фестиваля - Фонд помощи бездомным животным "Ника" за то, что сделали для нее это реальностью!
Будь счастлива, наша красотка!! Ты заслужила это счастье!❤️
P.S. Из печального- Кензо это единственный наш участник, который обрел свою семью...
Остальные трое наших подопечных вернулись в приют...
Они очень старались понравиться.. Очень хотели, чтобы их заметили...
Друзья, каждый из них замечательно проявил себя на этом фестивале- в совершенно незнакомой обстановке, в окружении огромного количества людей и других собак. Они просто молодцы!
И каждый из них будет очень-очень ждать своих новых родителей ... снова в приюте🙏.
Подарить им счастье может каждый!!
#LostDogs Airdrop By #Notcoin
🤑 Notcoin is back with an exciting new game!
📣 Notcoin has returned with a new playground called NotGames, introducing an exciting new game, LostDogs. This game has a limited duration and very easy gameplay, and rewards you with #not and #woof. We will also provide an educational post about the LostDogs game.
🔣 Join/Login to LostDogs
https://t.me/lost_dogs_bot/lodoapp?startapp=ref-u_401192094__s_57556
Долгожданный день #WOOF настал!!!
День был очень долгим)).
Мы от всей души хотим поблагодарить организаторов- Фонд помощи бездомным животным "Ника" за ежегодное проведение этого чудесного фестиваля, помогающего обрести десяткам собак свои новые семьи🙏.
А так же за ту атмосферу, которую организаторам удается создавать во время этого фестиваля👍.
Немного этой атмосферы- как раз в этой карусели 👆.
Ну а по результатам- результатами будем делиться с Вами завтра🙂
https://t.me/woof_fest
#WOOFFEST#WOOFFEST12
Подготовка в СЕГОДНЯШНЕМУ фестивалю #WOOFFEST !
Эту ночь все наши 4 кандидата провели дома у волонтеров).
Все намылись, все блестящие, все теперь ромашками пахнут).
Также это своеобразная проверка на то, как собака поведет себя дома.
Все дома вели себя идеально))).
Все готовы к встрече со своими новыми родителями!
Пожелайте им удачи, пожалуйста!
Она им сегодня очень понадобится!
Чтобы никому из них не пришлось бы возвращаться в приют после выставки...
Ведь это всегда самая печальная часть любого фестиваля- пристройства...
Провести целый день в окружении огромного числа людей, быть окруженным таким вниманием... А потом в приют(((.
Пусть сегодня такого не случится 🙏
Совсем скоро мы выезжаем!
До встречи на #WOOF !
📅 Когда?
СЕГОДНЯ, 26 апреля, с 11:00 до 19:00
📍 Где?
Москва, Хлебзавод, Новодмитровская улица, 1 стр 17, «Бойлерная»
Вход свободный, pet-friendly, 0+
До встречи на Хлебозаводе!
https://t.me/woof_fest
#WOOFFEST#WOOFFEST12
‼️ФЕСТИВАЛЬ #WOOF УЖЕ В ЭТУ СУББОТУ‼️
И четвертый кандидат от нашего приюта, отобранный организаторами для участия в этой выставке-пристройстве- наш Мальчик Том❤️.
И на эту выставку он поедет с одной лишь мечтой- встретить своих новых родителей и поехать оттуда не назад в приютский вольер, а ДОМОЙ🙏
До встречи в субботу!
Он Вас будет очень ждать!!
И пожелайте удачи нашему Вилли🙏
📅 Когда?
26 апреля – День собак (11:00–19:00)
27 апреля – День кошек (11:00–19:00)
📍 Где?
Москва, Хлебзавод, Новодмитровская улица, 1 стр 17, «Бойлерная»
Вход свободный, pet-friendly, 0+
До встречи на Хлебозаводе!
https://t.me/woof_fest
#WOOFFEST#WOOFFEST12
‼️ ДРУЗЬЯ, ДО ВЫСТАВКИ-ПРИСТРОЙСТВА #WOOF ОСТАЮТСЯ БУКВАЛЬНО СЧИТАННЫЕ ДНИ‼️
❌УЖЕ В ЭТУ СУББОТУ❌
И мы представляем третьего участника (точнее, участницу🙂) от нашего приюта, которая поедет на этот фестиваль в надежде уехать оттуда ДОМОЙ🙏.
Наша прелестная малышка Кензо😍
Очень, очень милая девочка-подросток❤️.
Фактически, еще щенок.
Малышка, у которой еще вся жизнь впереди!
И так хотелось бы, чтобы она проходила не в стенах приюта, а на мягком диванчике, рядышком с хозяином).
Обязательно приезжайте сами и расскажите своим знакомым!
Она Вас будет очень ждать!!
📅 Когда?
26 апреля – День собак (11:00–19:00)
27 апреля – День кошек (11:00–19:00)
📍 Где?
Москва, Хлебзавод, Новодмитровская улица, 1 стр 17, «Бойлерная»
Вход свободный, pet-friendly, 0+
До встречи на Хлебозаводе!
https://t.me/woof_fest
#WOOFFEST#WOOFFEST12
‼️ Друзья, уже совсем скоро!!!
Уже в эту субботу‼️
Выставка-пристройство WOOF !!!
От нашего приюта выбраны сразу 4(!) кандидата, кто поедет на этот фестиваль в надежде обрести там свою семью🙏
Представляем Вам нашего второго участника- милейшую Утешку❤️.
Идеальная собака компаньон с идеальным характером❤️. Просто чудо, а не собака!
И мы очень надеемся, что на фестивале #WOOF ребенок встретит свое счастье!
Обязательно приезжайте сами и расскажите своим знакомым!
Она Вас будет очень ждать!!
📅 Когда?
26 апреля – День собак (11:00–19:00)
27 апреля – День кошек (11:00–19:00)
📍 Где?
Москва, Хлебзавод, Новодмитровская улица, 1 стр 17, «Бойлерная»
Вход свободный, pet-friendly, 0+
До встречи на Хлебозаводе!
WOOF Москва: 26 и 27 апреля
#WOOFFEST#WOOFFEST12
L-l来l自z汪w星x的d你n- 来自汪星的你 (2024)
直达链接:https://pan.quark.cn/s/4276a29d48ad
#来自汪星的你#老爸是条狗#老爸是旺财
#Woof Woof Daddy #My Father the Dog
链接:https://link3.cc/sf_com
#电影#喜剧#内地#2024年代
🥺Друзья, совсем скоро состоится такое милое и доброе мероприятие!
🐾WOOF — фестиваль для тех, кто любит животных🐶🐱🐰
20–21 сентября Севкабель Порт превратится в настоящий 🌍 мир добра и заботы о четвероногих друзьях.
Фестиваль WOOF — это не просто событие, а шанс подарить любовь и, возможно, найти себе верного хвостатого спутника ❤️.
✨ Что вас ждёт:
🎪 маркет с авторскими товарами для людей и питомцев
📸 яркие фотозоны для душевных кадров
🎁 подарки и розыгрыши
🧸 сбор помощи для приютов (корма, игрушки, пледы, лекарства)
🎨 мастер-классы и игры для детей
💡 консультации по уходу и воспитанию животных
Атмосфера фестиваля наполнена заботой, радостью и надеждой🐾
📍 Севкабель Порт, пространство «Вольт»
⏰ 20–21 сентября, 11:00–19:00
💵 Вход свободный
🔗 Подробнее на сайте: https://wooffest.ru/
#WOOF#wooffest#севкабельпорт#фестивальживотных#возьмиизприюта#животныеСПб#доброСПб#бесплатныесобытияспб
Живи активно: культура, еда, события — всё в одном месте. Куда сходить в Санкт-Петербурге.
Lost Dogs Listing Date Announced
📅 The anticipated listing for Lost Dogs is set for January 14, 2025. Key details:
- Total token supply: 18 billion
- No vesting: All tokens unlocked immediately
- Market cap: $100 million; Token price: $0.0055
🗓️ Claim for BUILD scheduled for January 7, potentially introducing PX farming via WOOF + BUILD in EARN.
For more updates, join the DOGS community!
#Crypto#LostDogs#VC#Blockchain#Farming#TokenListing
#Crypto#VC#TokenListing#LostDogs#Blockchain#Farming#BUILD#Claim#CryptoNews#MarketCap#Investment#DecentralizedFinance#DeFi#Tokens#PYX#EARN#WOOF