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

Резултати

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

Пребарај: #bitrefill

当前筛选 #bitrefill清除筛选

💙Bitget Wallet Launches a New Era of Web3 Payments Bitget Wallet has announced its 2025 strategy, focusing on the concept of #PayFi. This is a real breakthrough in the world of crypto payments, which turns passive Web3 investments into an active financial instrument for everyday use. 📊Integration of earnings, expenses and transfers With over 60 million users worldwide, Bitget Wallet is redefining the role of cryptocurrency in personal finance. The PayFi system allows users to earn, spend, and send cryptocurrency in a single ecosystem, making it as useful as possible in everyday life. ✈️PayFi Flywheel Model The strategy is based on the PayFi Flywheel model, which transforms the traditional crypto wallet from a simple storage tool into a full-fledged financial hub. Users will be able to deposit assets, such as stablecoins, into savings accounts with real income, which are immediately used to cover daily expenses under the concept of “buy now, pay later.” 💳Launch of Bitget Wallet Card Key new products include the Bitget Wallet crypto card, which is supported by 💳Mastercard. This card will be linked to a multi-currency, crypto-friendly international bank account, greatly expanding the possibilities for using your crypto assets in real life. In addition to the card, users will have access to an in-app section for online shopping thanks to partnerships with companies like #Bitrefill, #IvendPay and #Coinpal. 🗺Supporting growing markets The significant growth in users in Africa, the Middle East and Latin America (over 1000% in 2024) highlights Bitget Wallet's commitment to making cryptocurrency accessible to everyone, especially those who have been left out of the traditional banking system. Alvin Kahn, COO of Bitget Wallet: This is not just a product — it is a movement that will make cryptocurrency a viable financial instrument for billions of people. We integrate blockchain technology into everyday life, creating a new paradigm for personal finance. 💰How to leverage it? It is assumed that settlements will be made through $BGB, the holders of which will become the beneficiaries of the new direction of the exchange. If you use Bitget Wallet Lite to collect KeyShards, which will probably also be converted to $BGB — you can easily migrate to Bitget Wallet by importing a seed phrase or private key and get all the benefits of PayFi Flywheel. #BitgetWallet#Web3#DeFi#BGB