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

Пребарај: #iamready

当前筛选 #iamready清除筛选

የመራጮች ምዝገባ ሊጠናቀቅ የቀሩት 5 ቀናት ብቻ ናቸው ************** እስከ መያዝያ 14 ድረስ የተራዘመው የመራጮች ምዝገባ ሊጠናቀቅ የቀሩት 5 ቀናት ብቻ ናቸው። ያስታውሱ! የምርጫ ካርድዎ የዜግነት መብትዎን የሚጠቀሙበት መንገድ ነው። ዛሬ የምንወስደው የምርጫ ካርድ ለምንሻው ለውጥ እና ለምንመኘው እድገት ብቸኛው ሕጋዊ መሳሪያችን ነው። የሚወስዱት ካርድ ድምፅ የማግኘት መብት ብቻም ሳይሆን የአገርዎ ባለቤት መሆንዎን የሚያረጋግጡበት ታሪካዊ አጋጣሚም ጭምር ነው። የእርስዎ ካርድ ለሀገር ሰላም ለዲሞክራሲ ግንባታና ለወደፊት ተስፋችን የሚቀመጥ ጡብ ነው። አሁኑኑ ይመዝገቡ ነገን በካርድዎ ይቅረጹ! ሊጠናቀቅ የቀናት እድሜ ብቻ በቀረው የመራጮች ምዝገባ አሁኑኑ በሚቀርብዎ የምርጫ ጣቢያ በአካል በመገኘት ወይም የምርጫዬ መተግበሪያን በመጠቀም በዲጂታል አማራጭ በቀላሉ መመዝገብ ይችላሉ። ለመራጭነት፣ ምርጫዬ የሞባይል መተግበሪያን ● ከአፕ-ስቶር:- https://url-shortener.me/IHPC ወይም ● ከፕለይ-ስቶር https://url-shortener.me/IHPF ላይ በማውረድ፣ አሊያም ●በድረ-ገጽ አማራጭ https://url-shortener.me/IHPH በቀጥታ ራስዎ ይመዝግቡ! Ethiopian Broadcasting Corporation #EBC#election2026#Ethiopia#IAmReady

እኛ ተመዝግበናል፤ እርስዎስ ለግንቦት 24ቱ ጠቅላላ ምርጫ ዝግጁ ነዎት? ******************** ምርጫ እርስዎ የሀገሪቱ የሥልጣን ምንጭ መሆንዎን በተግባር የሚያሳዩበት እና በነፃነት የመምረጥ መብትዎን በመጠቀም ሰብዓዊ ክብርዎንና ነፃነትዎን የሚያረጋግጡበት ትልቅ መድረክ ነው። አንድ ዜጋ በሰጠው ድምፅ የሀገሪቱን ዕጣ ፈንታ የመወሰን አቅም ይኖረዋል። እንደ ኢትዮጵያ በርካታ ብሔር ብሔረሰቦችና ፍላጎቶች ባሉባት ሀገር፣ ምርጫ ሁሉም ማኅበረሰቦች የየራሳቸው ድምፅና ተወካይ እንዲኖራቸው በማድረግ የጋራ ባለቤትነትን ይፈጥራል። ዴሞክራሲያዊ ምርጫ ባለበት ሥርዓት የግለሰብና የቡድን ነፃነት እንዲሁም ሐሳብን በነፃነት የመግለጽ መብቶች ይከበራሉ። ስለዚህ፣ የሀገርዎን ዕጣ ፈንታ ለመወሰን፣ የልማት አጀንዳዎችን ለማሳካት እና ለቀጣዩ ትውልድ ሰላማዊ ቅርስ ለማስተላለፍ ይህን ታሪካዊ ኃላፊነት ለመወጣት አሁኑኑ ተመዝግበው የምርጫ ካርድዎን ይውሰዱ! ሊጠናቀቅ የቀናት እድሜ ብቻ በቀረው የመራጮች ምዝገባ አሁኑኑ በሚቀርብዎ የምርጫ ጣቢያ በአካል በመገኘት ወይም የምርጫዬ መተግበሪያን በመጠቀም በዲጂታል አማራጭ በቀላሉ መመዝገብ ይችላሉ። ለመራጭነት፣ ምርጫዬ የሞባይል መተግበሪያን ● ከአፕ-ስቶር:- https://url-shortener.me/IHPC ወይም ● ከፕለይ-ስቶር https://url-shortener.me/IHPF ላይ በማውረድ፣ አሊያም ●በድረ-ገጽ አማራጭ https://url-shortener.me/IHPH በቀጥታ ራስዎ ይመዝግቡ! Ethiopian Broadcasting Corporation #EBC#election2026#Ethiopia#IAmReady