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

Резултати

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

Пребарај: #zealy

当前筛选 #zealy清除筛选
Airdrop Strikers™

@airdropstrikers · Post #1463 · 07.10.2023 г., 06:32

🚀 The #Zealy sprint has officially begun! 🚀 It's time to dive into action as our thrilling sprint is now underway. With a fantastic prize pool of $5,000 + 500,000 Basalt tokens, this is a journey you won't want to miss 🎉 Join us and make your mark in this exciting sprint: https://zealy.io/c/basaltcoin/questboard💰 🚀 The future is green, and BasaltCoin is leading the way! Don't miss out on the opportunity to be part of the Greentech revolution. Invest with us and make a positive impact on our planet while growing your assets🌱 💰 Basalt presale 👉https://basaltcoin.com/sale

Hashtags

Crypto Officer™

@cryptoofficer · Post #1200 · 12.10.2023 г., 19:25

📦BasaltCoin✅️ 🔥 Total Reward: $5,000 + 500,000 Basalt tokens 👑 The #Zealy sprint has officially begun! 🚀 🚧Rating: ⭐️⭐️⭐️⭐️⭐️ 🎁Joining Link :https://zealy.io/c/basaltcoin/questboard 📔Information: 🚀The future is green, and BasaltCoin is leading the way! Don't miss out on the opportunity to be part of the Greentech revolution. Invest with us and make a positive impact on our planet while growing your assets🌱💰 🌐 Presale Link: https://basaltcoin.com/sale 🔴Note:Please do your own research (DYOR) before joining to any airdrops project, also airdrop is 100% free. Don't send any fee or penny for receiving airdrop token.

Hashtags

Crypto Officer™

@cryptoofficer · Post #1238 · 23.11.2023 г., 14:21

📦 HIPP Merch Giveway ✅ 💲 Reward: 🔹1st 300 - $30 🔹 Next 700 - $20 🪙 Additional rewards: You'll also get the #BitgetPioneer role, extra #Zealy Sprint Points, and the chance to win an El Hippo x Bitget t-shirt! 🛡 Rating: ⭐⭐⭐⭐⭐ 😀Airdrop Link:https://partner.bitget.com/bg/5WHE9P ============================= ✅Steps to Participate: 🔘Signup on Bitget withthis link 🔘 Make a deposit of $50 (a net deposit, meaning $50 more than your withdrawals) from November 21 - 28. Deposit cannot be from a CEX. 🔘 Provide yout Bitget UID on our Zealy quest. ============================= 👑Let's Go:https://zealy.io/c/elhippo/questboard 🖥Information: 💎Only transfers from non-CEX wallets are eligible. 💎 It's IMPORTANT to join #Bitget using our link. 💎If you have already registered at Bitget, you can still join the airdrop 😀Note:Please do your own research (DYOR) before joining to any project, also projects are 100% free. Don't send any fee or penny for receiving any token.

Airdropp.io

@airdropp_io · Post #468 · 01.02.2024 г., 12:02

🔥 Babylon Chain Airdrop They received $18M investment. Partners with Altlayer. BTC staking platform. Zealy shared, let's join. 👉https://zealy.io/c/babylonchain/invite/y4iEQg20XJpzFcyU24YdP #babylon#airdrop#altlayer#zealy

Airdrop Strikers™

@airdropstrikers · Post #1257 · 29.05.2023 г., 21:30

Introducing #Skrimples exciting new #airdrop campaign on #Zealy🔥🔥 https://zealy.io/c/skrimples/questboard We have a massive prize pool of 1,000,000,000 $Skrimp tokens worth $4200 waiting for all the Zealy #ruffhouse hunters out there. 🔽🔽 Medium 🔉 #airdrop#giveaway#shib#pepeburn

Genius Airdrops™

@geniusairdropsss · Post #441 · 21.08.2023 г., 11:06

👑HOMERUN #Giveaway IS LIVE - 500 USDT to grab👑 Homerun team would like to showcase our appreciation for all of you guys who have been providing great support which enables us to observe extraordinary development during the last couple of months 🚀 We would like to announce the Official #Giveaway event for all of you in our community 👉Prize Pool: $500 $USDT for participants 👉Finish all the tasks in Zealy and grab the USDT 👉Event time (21/08 - 29/08) 👉Join Zealy now: https://zealy.io/c/homerun/questboard/2312ddde-0986-4991-857b-875b4af2698d #NFTGiveaway#Giveaway#AirdropCrypto#Airdrop#FreeMoney#Web3#USDT#USDTGiveaway#Zealy#QuestN