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

Резултати

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

Пребарај: #appartment

当前筛选 #appartment清除筛选

ማስታወቂያ የሁሉንም ማህበረሰብ አቅም ባማከለ ዋጋ ከ6.3 ሚልየን ብር ጀምሮ ጉርድ ሾላ አደባባይ አጠገብ ኖህ ኦአሲስን ከባለ1 _ባለ 3 የመኝታ አማራጭ ያላቸውን ቤቶች እየገነባን ነው ፡፡ ለበለጠ መረጃ 6100 ላይ ወይም 0948111111 ይደውሉልን! ወይም በዉጭ የስልክ መስመራችን: +1 571-547-2858 ያልተገነባ አንሸጥም ! #Noahrealeastae#Appartment#house#noahoasis#location#home#gurdshola#guesthouse#Investment#investment

ማስታወቂያ ከ33 በላይ ፕሮጀክቶችን በ12 ዓመት ገንብተን ከ10,000 በላይ ቤቶችን አስረክበናል ፡፡ በአሁን ሰዓት በቦሌ ፍላሚንጎ 7000 ካሬ ላይ ያረፈ ግዙፍ የንግድ ማዕከል እየገነባን ነው ፡፡ ለበለጠ መረጃ 6100 ላይ ወይም 0948111111 ይደውሉልን ! ወይም በዉጭ የስልክ መስመራችን : +1 571-547-2858 ያልተገነባ አንሸጥም ! #Noahrealeastae#Appartment#house#noahoasis#location#home#gurdshola#guesthouse#Investment#investment

ማስታወቂያ ሁሉንም በአንድ ጣሪያ ስር ! ከ500 በላይ የንግድ ሱቆችን 700 የመኪና ማቆሚያ መዝናኛ ቦታዎች በቦሌ ፍላሚንጎ በሚገኘው ኖህ ኮንቬንሽን የንግድ ሱቆችን በሽያጭ ላይ ነን ፡፡ ለበለጠ መረጃ 6100 ላይ ወይም 0948111111 ይደውሉልን ! ወይም በዉጭ የስልክ መስመራችን : +1 571-547-2858 ያልተገነባ አንሸጥም ! #Noahrealeastae#Appartment#house#noahoasis#location#home#gurdshola#guesthouse#investmentopportunities

ማስታወቂያ ****** ጉርድ ሾላ አደባባይ አጠገብ እየገነባን ያለውን ኖህ ኦአሲስ ሳያዩ አይወስኑ ፡፡ የመኪና ማቆሚያ የጋራ ሰገነት( ቴራስ) ከባለ1 _ ባለ 3 መኝታ አማራጭ በየሁለት ወሩ መክፈል የሚችሉበት የክፍያ አማራጭ ለትምህርት ቤት ፣ ሆስፒታል ፣ የንግድ ማዕከል ቅርብ ለኮንቬንሽን ሴንተር እና ለአየር መንገድ በቅርብ እርቀት ላይ የሁሉንም ማህበረሰብ አቅም ባማከለ ዋጋ ኖህ ኦአሲስ፡፡ ለበለጠ መረጃ 6100 ላይ ወይም 0948111111 ይደውሉልን ! ወይም በዉጭ የስልክ መስመራችን : +1 571-547-2858 ያልተገነባ አንሸጥም ! #Noahrealeastae#Appartment#house#noahoasis#location#home#gurdshola#guesthouse#Investment#investmentstrategies

ማስታወቂያ ከኤግዚቢሽን ማዕከል ጀርባ በቦሌ ፍላሚንጎ 7000 ካሬ ላይ ያረፈ 700 የመኪና ማቆሚያ ያለው ከ500 በላይ ሱቆች ያሉት የንግድ ማዕከል ኖህ ኮንቬንሽን! ለበለጠ መረጃ 6100 ላይ ወይም 0948111111 ይደውሉልን! ወይም በውጭ የስልክ መስመራችን: +1 571-547-2858 ያልተገነባ አንሸጥም! ለበለጠ መረጃ 6100 ላይ ወይም 0948111111 ይደውሉልን! ወይም በዉጭ የስልክ መስመራችን : +1 571-547-2858 ያልተገነባ አንሸጥም! #Noahrealeastae#Appartment#house#noahoasis#location#home#gurdshola#guesthouse#Investment#investmentstrategies

እድሉ አልፏችሁ የነበራችሁ ደንበኞች ! ከአዲስ ኢንተርናሽናል ኮንቬንሽን ሴንተር ወይም ሲኤምሲ አደባባይ አጠገብ ኖህ ግራንድ ኮንቬንሽን ላይ 90% ግንባታቸው የተጠናቀቀ ከባለ2 _ ባለ3 መኝታ ቤት ያላቸው ውስን ቤቶችን ለገበያ ይዘን መተናል ፡፡ ሙሉ መረጃ ለማግኘት ወይም ሳይት ለመጎብኘት 6100 ላይ ወይም 0948111111 ይደውሉልን ወይም በዉጭ የስልክ መስመራችን : +1 571-547-2858 ያልተገነባ አንሸጥም ! #Noahrealeastae#AICC#CMC#Appartment#house#noahoasis#location#home#gurdshola#guesthouse#Investment#investmentstrategies

ማስታወቂያ ******* ከኤግዚቢሽን ማዕከል ጀርባ በቦሌ ፍላሚንጎ 7000 ካሬ ላይ ያረፈ 700 የመኪና ማቆሚያ ያለው ከ500 በላይ ሱቆች ያሉት የንግድ ማዕከል ኖህ ኮንቬንሽን ! ለበለጠ መረጃ 6100 ላይ ወይም 0948111111 ይደውሉልን ! ወይም በዉጭ የስልክ መስመራችን : +1 571-547-2858 ያልተገነባ አንሸጥም ! ለበለጠ መረጃ 6100 ላይ ወይም 0948111111 ይደውሉልን ! ወይም በዉጭ የስልክ መስመራችን : +1 571-547-2858 ያልተገነባ አንሸጥም ! #Noahrealeastae#Appartment#house#noahoasis#location#home#gurdshola#guesthouse#Investment#investmentstrategies#shop#location#addisababa#ኖህሪልእስቴት#viral#Appartement