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

Резултати

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

Пребарај: #flappybird

当前筛选 #flappybird清除筛选
The Idealist

@theidealist · Post #2042 · 13.05.2020 г., 13:00

​​Mental Floss: 10 изобретателей, которые сожалели о своих творениях Мы восхищаемся гениями, чьи изобретения преобразовали мир вокруг нас. Интернет, ядерная энергия, перцовые баллончики и даже кофе в капсулах - без всего этого наша цивилизация была бы совсем иной. Но многие "отцы" этих изобретений оказались в итоге недовольны своими творениями: кто-то, как создатель офисной кабинки Боб Пропст, считает, что его идею в итоге неправильно поняли, а, например, придумавшего кофе в капсулах Джона Сильвана пугает "монстр", чересчур облегчивший доступ человеческому мозгу к кофеину. Редакция Mental Floss отобрало 10 наиболее интересных изобретений, создатели которых оказались недовольны тем, что из всего этого вышло, перевод их текста мы представляем вам сегодня. «Если вам это нравится, вы ничего не понимаете в типографии». Это не злобная отрыжка анонимного критика шрифта Comic Sans, а мнение его создателя, дизайнера Винсента Коннари, озвученное в интервью Wall Street Journal. Коннари, однако, дополнил его: «Если вы ненавидите это, вы действительно тоже мало знаете о типографии, и вам нужно другое хобби». По мнению Коннари (которое разделяют многие) проблема Comic Sans заключается не в самом шрифте, а в его чрезмерном и неправильном использовании. Винсент изначально разрабатывал его для приложений Microsoft, ориентированных на детей, он должен был заменить Times New Roman в речевых пузырях. Автор никогда не предполагал, что шрифт станет настолько широко использоваться и высмеиваться». https://theidealist.ru/10inventions/ #MentalFloss#общество#история#интернет#FlappyBird#типография#РолиЧоппер#кофе

Venture Village Wall 🦄

@venturevillagewall · Post #3670 · 21.12.2024 г., 14:37

Sticker Market Insights 🚀 An overview of the Sticker Market with upcoming NFT potentials. Stickers are gaining traction with unique IDs for future NFT conversion. Key collections include: - 🐔Flappy Bird: 5,555 editions; 733 sold. - 🐈‍⬛Blum: 10,268 sold from multiple editions. - 🐶DOGS: Some sold out with various editions. - 🐵Bored Apes: Sold out quickly with high ETH value. Key motivations for buying or holding: - Flipping and potential NFT benefits in EARN. - Increased arbitrage opportunities through expanded markets. Check out the StickerStore for purchases and Stars! #StickerMarket#NFT#FlappyBird#Blum#DOGS#BoredApes#PudgyPenguins#Notcoin#Onchain#EARN#Arbitrage#Stars#Telegram#Collectibles#DigitalArt#Crypto#MarketTrends#Community#Investment#Trading