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

Резултати

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

Пребарај: #brucelee

当前筛选 #brucelee清除筛选
LaMusaEra

@LamusaEra · Post #4924 · 16.06.2024 г., 16:46

“La libertad abre sus brazos a una persona en el momento en que deja de importarle la impresión que causa o puede causar a alguien”. #BruceLee

Hashtags

LaMusaEra

@LamusaEra · Post #4441 · 22.04.2024 г., 15:33

"Los verdaderos amigos son como diamantes : preciosos y raros. Los falsos amigos son como las hojas de otoño : están en todas partes". #BruceLee

Hashtags

Музей Вертолётов

@helimuseum · Post #1131 · 14.12.2024 г., 11:50

#BruceLee#TheGreenHornet • Сегодня вторая суббота декабря, а значит в России отмечается День вертолётчика! Всех причастных с праздником! 🚁 На фото Брюс, Ван Уильямс и Венде Вагнер на съёмках сериала "Зелёный Шершень", 1966 🐉🐝

Видеотека 📼

@videotekashow · Post #14990 · 27.11.2025 г., 08:25

🎬📷 На съёмочной площадке фильма «Выход дракона». Сегодня исполнилось 85 лет со дня рождения легендарного Брюса Ли. #ВИДЕОТЕКА #EnterTheDragon #ВыходДракона #BruceLee #БрюсЛи #BehindTheScenes

dopingpong

@dopingram · Post #2492 · 24.05.2023 г., 10:24

Продолжение истории: «Папина авторучка», холст, акрил, 150х55, Doping Pong, 2023 «Папа, у меня все хорошо, но как можно скорее пришли мне свою авторучку! Ту самую, с женщиной…» - написал мальчик в записке, которую передал в Ленинград с первой же оказией. Ручка была необходима как физическое доказательство реальности всех тех историй о необычайном мире запредельного - о загранице и зарубежной массовой культуре - которыми щедро делился наш герой с соседями по палате после отбоя. О космической саге про рыцарей джедаев, странствующих по далеким галактикам, о музыкантах группы, подлинных лиц которых никто не видел, об удивительном актере, боевым навыкам которого нет равных… и многом другом, упоительно прекрасном и недоступном. И в ожидании послания от отца он рисовал в воображении, как изумятся его товарищи, увидев своими глазами волшебную авторучку. Но папа просьбу своего отпрыска оставил без ответа… More info: лот 11 https://vladey.net/ru/lot/10722 #dopingpong#kiss#brucelee#kawasaki#starwars#ussr#retro

籽煤 yseedsmedia

@yseedsmedia · Post #366 · 27.11.2021 г., 02:15

香港文化博物館11月28日(星期日)起舉行「平凡.不平凡──李小龍」展覽,今次展覽是香港文化博物館繼2013年「武.藝.人生──李小龍」展覽後,與李小龍基金會再度攜手,呈獻「平凡.不平凡──李小龍」展覽,從電影、武術、個人修為等的堅毅歷程,如何造就李小龍的傳奇。 原名李鎮藩的李小龍(1940年至1973年),以「Bruce Lee」之名蜚聲國際。他糅合多家武術理念,創立了截拳道,其武打電影亦成為經典。他一生力求突破固有限制,透過每日操練和自省,超越自我,蛻變成一代傳奇。 展覽中展出約400件李小龍相關展品及相片,其中包括李小龍在嬰兒時期曾穿着的上衣、在香港求學時所用的劍擊面罩、在華盛頓大學的考試溫習筆記、在泰國拍攝《唐山大兄》時寫給妻子Linda的家書、他第一部著作《基本中國拳法》初版、截拳道牌匾,以及電影《龍爭虎鬥》場景設計原圖。展覽亦增設多項大型光影展品及互動裝置,包括展示李小龍武學理念和人生哲學的光纖投影互動裝置,以及沉浸式光影展品「我.武.無」,讓觀眾體會李小龍的自我實現理念。 展覽為期5年,由11月28日至2026年在沙田文林路一號香港文化博物館舉行。 #李小龍#BruceLee#傳奇#國際巨星#平凡不平凡#籽煤#Yseedsmedia#港聞#政治#國際新聞#消息#今日熱門新聞 有意見想表達?觀迎到籽煤各社交媒體發表你的意見: Follow and share us: IG: instagram.com/yseedsmedia/ Fb: fb.com/yseedsmedia Tg: t.me/yseedsmedia YouTube: youtube.com/channel/UCUzvl6OxtSHcK5fck7i8iYQ