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

Пребарај: #guasia

当前筛选 #guasia清除筛选
Gumart Announcement 🛒

@gumartec · Post #241 · 14.04.2025 г., 00:11

🌊 GuAsia Winner Has Arrived at Songkran. Congratulation winners!🇹🇭 From the leaderboard to the land of water fights and tradition, our GuAsia winners have officially landed in Bangkok to experience the legendary Songkran Water Festival - live and in person! 🛫💧 A round-trip ticket to Bangkok from April 13 to April 15 to experience one of the most iconic cultural events on Earth has already been sent straight to the winner’s wallet, along with a personal notification. ✈️ 🏆 As part of Gumart’s biggest campaign ever, Gu Go Global, this was Asia’s turn to shine—and the energy was real. 🏁With more giveaways coming to every continent, your chance might be just around the corner! #GuGoGlobal#GuAsia

Gumart Announcement 🛒

@gumartec · Post #382 · 25.01.2026 г., 10:14

⏱ 2 DAYS LEFT — Don’t Miss This! 🚨 💥 The clock is ticking. Only 48 hours remain before our GuAsia Mini-Game officially closes. ❗️ What’s at stake? Top 5 players on the leaderboard will secure exclusive rewards, including real-world travel experiences, not just digital prizes. 🌍 This isn’t just a game. It’s your chance to turn activity into real movement, rewards into real journeys, and rankings into real recognition. 👀 🔥 Final push starts NOW: 1️⃣ Invite more friends 2️⃣Climb the leaderboard 3️⃣Lock in your spot ⏰ 2 days left. Once it’s over — it’s over. #GuGoGlobal#GuAsia#FinalCountdown

Gumart Announcement 🛒

@gumartec · Post #246 · 19.04.2025 г., 03:46

🌊 Gumart in Songkran – Thailand 🇹🇭 🌐#GuGoGlobal Campaign – Taking Web3 to the Heart of Culture! 📍 Checkpoint: Songkran Festival, Bangkok, Thailand One of our GuAsia winners has just shared their unforgettable journey at the legendary Songkran Festival in Bangkok - after receiving their exclusive reward from the #GuGoGlobal giveaway. 😱 From vibrant street parades to joyful water fights, this was more than just a trip - it was a moment where Web3 met real-world celebration, and Gumart became part of the experience.⭐️ 💡 This is what Gu Go Global is all about: bringing crypto utility to real life, through people, places, and culture. 🎉And yes - more giveaways are coming to every continent. Your city might be next. #GuGoGlobal#GuAsia#Songkran

Gumart Announcement 🛒

@gumartec · Post #240 · 10.04.2025 г., 07:39

🎉 GuAsia Activation: Fly to Songkran Festival with Gumart!🇹🇭 As part of Gumart’s biggest-ever global campaign, Gu Go Global (April–May 2025), we’re bringing the celebration to Asia with a special giveaway!📈 ✈️ Prize: Round-trip flight ticket to Bangkok, Thailand, to experience the iconic Songkran Water Festival live! 💧 🗓 Duration: April 8 - April 13 📌 How to join: Top 3 referral leaderboard in Asia will receive special prizes – including a flight to Songkran! Be bold, be global. This is your moment. See you in Asia!🔼 #GuGoGlobal#GuAsia#SongkranFestival