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

Резултати

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

Пребарај: #gamingcommunity

当前筛选 #gamingcommunity清除筛选
Airdrop Presents 🗽

@airdrop_presents · Post #2896 · 01.05.2024 г., 15:26

🪂Greetings FROM RevivalRO! ✅️ 💲 Join us today for a free gaming experience where you can earn money! Embark on an exciting MMORPG adventure with us, available for free on your Android phones, tablets, or Windows PC. Discover rare items, cards, and treasures for your character, then sell them at profitable prices to other players in-game. 💎Presents Ratings: ⭐️⭐️⭐️⭐️⭐️ ➡️Visit RevivalRO Website 📚 How to Join? ↪️ Join us on Telegram! Click Here To JOIN Telegram ↪️ Download Telegram for PC: Download PC ↪️ Download Telegram for Android: Download Android ✏️Notes: Explore our Wiki for tips and guides: Wiki ℹ️ Join us now and ignite the adventure! ⚔️🛡#RevivalRO#MMORPG#GamingCommunity

ASUS CIS

@asus_on_russian · Post #3129 · 26.03.2025 г., 13:06

🏆 ASUS и MY.SKILL ДАРЯТ 100 БИЛЕТОВ НА КИБЕРСПОРТИВНЫЙ ТУРНИР! 🎮🔥 ASUS и MY.SKILL открывают двери на эпичный киберспортивный турнир, где вы сможете понаблюдать за топовыми игровыми баталиями и погрузиться в атмосферу профессионального гейминга — розыгрыш 100 билетов уже начался! ✅Как получить билет? ✍️ Просто напишите в комментариях «Хочу билет», и мы отправим вам регистрационную форму в личные сообщения. 💫 Погрузитесь в атмосферу профессионального киберспорта вместе с ASUS. Ждём вас на турнире! #ASUS#MYSKILL#EsportsEvent#GamingCommunity#WinWithASUS

GAMEFEST.UZ

@gamefestuz · Post #270 · 02.04.2026 г., 09:11

🎮 KATTA YANGILIK: TapNation — Game Fest 2026 markazida! Tayyor turing, geymerlar! Dunyoning eng yirik mobil o‘yin nashriyotlaridan biri bo‘lgan TapNation rasman Game Fest 2026 festivalida ishtirok etishini e’lon qiladi! 🚀 Bu shunchaki tadbir emas, bu mobil o‘yinlar olamidagi inqilobiy tajriba bo‘ladi. Biz bilan birga o‘yin sanoatining kelajagiga sho‘ng‘ing! ————————— 🎮 BIG NEWS: TapNation Takes Center Stage at Game Fest 2026! Get ready, gamers! We are thrilled to officially announce that TapNation, one of the world’s leading mobile game publishers, will be lighting up Game Fest 2026! 🚀 This isn’t just an event; it’s an immersive journey into the future of mobile gaming. Join us as we push the boundaries of innovation and dive deep into the next generation of play #TapNation#GameFest2026#MobileGaming#GamingCommunity#Gamedev#UzbekistanGaming#NewGames2026