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

Резултати

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

Пребарај: #advocacy

当前筛选 #advocacy清除筛选
Borkena

@borkena · Post #5826 · 22.02.2026 г., 20:11

The Advocacy Gap: Why Tigrayan Diaspora Activism Outperformed the Amhara Movement Globally. Read more. https://borkena.com/2026/02/22/ethiopia-the-advocacy-gap-why-tigrayan-diaspora-activism-outperformed-the-amhara-movement-globally/#Ethiopia#Amhara#Advocacy

#HaSab

@Hasab_2016 · Post #35 · 24.12.2023 г., 08:43

#Advocacy #HaSab ውረድ ወደ መሬት! አሁን አሁን አዲስ ነገር ሳነብ ወይንም ከመምህሬ ስሰማ አንድ ሀሳብ ደጋግሞ በምዕናቤ ይመላለሳል:-'Ah, what if I had learned this earlier?!'🤦‍♂️ ብዙዎቹ ከጤና ጋር የተያያዙ ጉዳዎች በሀገራችን ለመላምት የተጋለጡ ናቸው። ሁሉም የመሠለውን ይናገራል። በርግጥ ከመላምት የተሻገሩ ባህላዊ እውቀጦች እንዳሉ ባይካድም.... እናም በልጅነት አእምሮም ይሁን ሁነኛ መረጃ በማጣት የብርቱካን ፍሬ ውጦ ከመችመች በአናቴ የዛፍ ቅርንጫፍ ተንዠረገገ እንደሚል ብላቴና ሆኜ ያሳለፍኩባቸውን ጊዜያት ሳስብ ፈገግ እላለሁ። ከነበርኩበት ላይብረሪ አልያም ከመማርያ ክፍል ወጥቼ ለማህበረሰቤ በሚያውቀው ቋንቋ፣ በሚረዳበት አዎድ "ይሄ የሆነው ለዚህ ነው፣ ይህ ማለት ይህ ነው!" ማለት ያምረኛል። ብዙውን ጊዜ የምንነጋገረው እርስ በእርስ ነው። (እዚህ LinkedIn ላይ ራሱ ስንት blog አነበብኩ ስንት የታተሙ ጆርናሎች አስደነቁኝ) በሞያዊ ቋንቋችን ባለን የትምህርት ደረጃ ልክ እንወያያለን እንከራከራለን ከድምዳሜ እንደርሳለን። የሚዘጋጁ የግንዛቤ ማስጨበጫ መድረኮችም የሚሞሉት በባለሞያው ነው። ይህ እርስ በእርስ እንድንግባባ ቢያደርገንም ግንዛቤ ማስጨበጥ ላይ ገና ብዙ እንደሚቀረን ጠቋሚ ነው። ለዛ ይሆን የመፍትሄ ሀሳቦቻችን መሬት የማይወርዱት? ዋናው ችግር ያለው መሬት ላይ ነው። ለመሬት እጅግ ቅርብ የሆነው ደግሞ አራሹ ነው። ህመም የጅማሮ ምልክቱን የሚያሳየው ቤት ነው። ቤት ውስጥ ያለው ደግሞ ቤተሰብ ነው። ኤኮኖሚው ሲዘም የሚያርደው የቤቱን ምሰሶ ነው። ምሰሶውን ቀጥ አድርጎ ለማቆም መሰሶ ካለበት መሄድ ያሻል። ስለዚህ የግንዛቤ ማስጨበጫዎቻችን እርስ በእርስ ካለን መድረኮች የሚሻገሩ እና ማህበረሰቡ በማረዳው ቋንቋና አውድ የተተረጎመው ሆነው የሚዘጋጁ ለማድረግ ብዙ መስራት ያለብን ይመስለኛል። ባለሁበት የእንስሳት ጤና ዘርፍ - ስለተለያዩ ምርታማነትን የሚቀንሱ የእንስሳት በሽታዎች ( animal production and health) - ከእንስሳት ወደ ሰው የሚተላለፉ በተዋሲያን የሚመጡ በሽታዎች (Zoonosis) - ስለ ጸረ-ተዋሲያን መድሀኒቶች በጀርሞች መላመድ ( antimicrobial resistance ) - ስለ ምግብ ደህንነት (food safety) - ስለ እንስሳት ደህንነት እና ፋይዳው ( Animal welfare and its impact ) - የማህበረሰብ ፣ እንስሳት እና አከባቢ ጤና ግንኙነት ( one health ) ማህበረሰቡን ለማስተማር ግንዛቤ ለመስጠት እና ለውጥ ለማምጣት ጽኑ ፍላጎት ያላችሁ ሁሉ በጋራ መስራት እንችላለን። ያወቅነውን የማሳወቅ ሐላፊነት አለብንና! Advocacy for the community should be a slogan like "መሬት ላራሹ!" Lets connect on LinkedIn መልካም የረፍት ቀን!