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

Резултати

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

Пребарај: #xikers

当前筛选 #xikers清除筛选
I-DLE* UPDATE (SLOW)

@gidle_update · Post #45880 · 11.11.2025 г., 12:06

251109 || xikers_official TIKTOK UPDATE #SUPERPOWER challenge with senior #idle#미연💪@official_i_dle #xikers#싸이커스#유준#YUJUN #아이들#MIYEON #슈퍼파워#SUPERPOWER_Challenge#슈퍼파워_챌린지 –🦋 ── @GIDLE_UPDATE ──

Kpop Premium 《🌿》

@bubbletealuv · Post #1903 · 20.12.2023 г., 21:27

Мемы [Kpop] 😩 😜 💃 💋установить пак💋 tag - #NCT#NCTU#NCT127#Ateez#WayV#Xikers#P1Harmony#TXT#NCTDoJaeJung#BTS#StrayKids#Twice#NewJeans#Enhypen#Nmixx#NCTWISH#ZeroBaseOne#NCTDream#Aespa#Riize#LeSserafim#Enhypen#kpop#jpop#cpop#animation#memes

Kpop Premium 《🌿》

@bubbletealuv · Post #1848 · 13.12.2023 г., 12:00

Мемы [kpop] 🤍 💃 😡 🐨установить пак🐨 tag - #XdinaryHeroes#LeSserafim#Enhypen#Xikers#WayV#NCTU#Exo#Ateez#Ive#NCT#NCT127#NCTDoJaeJung#P1Harmony#TXT#Nmixx#Twice#BlackPink#StrayKids#Itzy#SHINee#IzOne#Aespa#kpop#krock#cpop#animation#memes

Kpop Premium 《🌿》

@bubbletealuv · Post #1975 · 30.12.2023 г., 21:43

Новый год [kpop] ❄️❄️❄️ ❄️установить пак❄️ 🎄 - #christmas tag - #Xikers#Enhypen#TXT#Stayc#NCT#NCTU#NCT127#P1Harmony#Evnne#WayV#Somi#ZeroBaseOne#Twice#Xodiac#LeSserafim#AmpersAndOne#Gidle#BlackPink#Xdinaryheroes#NewJeans#RedVelvet#Aespa#Xin#Nmixx#Itzy#Gidle#NCTWISH#BoyNextDoor#SuperKind#kpop#cpop#solo

Kpop Premium 《🌿》

@bubbletealuv · Post #1979 · 31.12.2023 г., 14:07

Новый год [kpop] 🎅🎅🎅 🍭установить пак🍭 🎄 - #christmas tag - #Enhypen#BTS#StrayKids#8Turn#TXT#Ateez#NCT#NCTU#NCT127#NCTDream#SHINee#Twice#P1Harmony#TheBoyz#Exo#82Major#Stayc#Evnne#Xdinaryheroes#Ive#Itzy#Yena#Kep1er#Loona#Loossemble#Aespa#Chuu#NewJeans#LeSserafim#OnlyOneOf#IU#WekiMeki#Oneus#Xikers#NineI#AmpersAndOne#BoyNextDoor#Riize#kpop#krock#solo

Kpop Premium 《🌿》

@bubbletealuv · Post #1969 · 30.12.2023 г., 06:46

Мемы [Kpop] 🌼 👀 🫢 🐼установить пак🐼 tag - #P1Harmony#Enhypen#WayV#NCT127#NCTU#NCTDream#Xdinaryheroes#ZeroBaseOne#Cravity#Seventeen#TXT#ParkJihoon#Gidle#MonstaX#Kep1er#BoyNextDoor#Mamamoo#Twice#Ateez#StrayKids#JYP#NewJeans#Chuu#Aespa#Riize#SHINee#TIOT#Xikers#8Turn#Lun8#BTOB#Blitzers#Nmixx#Loona#LeSserafim#BTS#Twice#Ive#WannaOne#cpop#krock#kpop#solo#animation#memes

Kpop Premium 《🌿》

@bubbletealuv · Post #1974 · 30.12.2023 г., 18:27

Рождество [kpop] ❄️ ❄️ ❄️ 🎄установить пак🎄 🎄 - #christmas tag - #Enhypen#LeSserafim#P1Harmony#OmegaX#Itzy#Aespa#Chuu#TheBoyz#NCTDream#NCTU#NCT#NCT127#NCTWISH#GirlsGeneration#SNSD#Treasure#Xikers#ZeroBaseOne#Seventeen#Cravity#Evnne#YouNite#Wei#JustB#StrayKids#TXT#NineI#Vanner#OnlyOneOf#AmpersAndOne#Oneus#Mave#TIOT#WayV#Epex#Lun8#Aimers#AndTeam#Trendz#RedVelvet#Riize#FiftyFifty#Ateez#WooAh#Tempest#Twice#Nmixx#AKMU#Gidle#kpop#solo#cpop#animation