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

Резултати

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

Пребарај: #stl

当前筛选 #stl清除筛选
IK Design©

@ikdesignuz · Post #184 · 29.03.2020 г., 16:32

#stl#elon 🇺🇿Respublika 🌈 "Kamalak" bolalar tashkilotining sahifasiga tayyorlangan "STL" guruhining e'loni uchun dizayn. 🚀T.me/ik_design

Hashtags

В мире моды произошел неожиданный поворот: компания STL приобрела французский дом моды Christian Lacroix. 📍Christian Lacroix, основанный в 1987 году, известен своими роскошными и экстравагантными дизайнами, которые оставили неизгладимый след в истории моды. 📍Компания STL, ранее не фигурировавшая в заголовках модных изданий, теперь владеет одним из самых знаковых брендов индустрии. 📍Что это означает для будущего Christian Lacroix? Будет ли сохранено наследие бренда, или нас ждут радикальные изменения? 📍Время покажет, но одно ясно: мир моды всегда полон сюрпризов. 🦉 Редакция ФК Эвелины Хромченко #ЭвелинаХромченко#ChristianLacroix#STL#модныеновости

Daily Channels

@dailychannels · Post #6054 · 08.05.2025 г., 01:00

Channel: DC Comics | STL 3D Print Models Miniatures Members: ~11.89K 💢 Username: @dc_stl Description: all chanels : t.me/addlist/AKCBHdY4zShlZTVi Superman Batman Wonder Woman The Flash Green Lantern Aquaman Cyborg Justice League DC Comics Gotham City Metropolis Darkseid Joker Harley Quinn Lex Luthor 🏷 Tags: #utilities_tools #comics#stl#print https://telegramchannels.me/channels/dc_stl

Daily Channels

@dailychannels · Post #6672 · 10.02.2026 г., 01:00

Channel: Chibi Funko Kids Toys Play Fun | 3D STL Models Miniatures Print Members: ~13.02K 💢 Username: @kids_stl Description: all chanels : t.me/addlist/AKCBHdY4zSh Toy models Character figurines Cartoon characters Animal models Action figures Playsets Dollhouse accessories Cartoon animals Cute characters Fantasy creatures Fairy tale characters Superheroes Princesses Robots 🏷 Tags: #utilities_tools #print#stl#kids#chibi https://telegramchannels.me/channels/kids_stl

Daily Channels

@dailychannels · Post #6503 · 23.11.2025 г., 13:00

Channel: Pokemon | STL 3D Print Models Miniatures Members: ~14.1K 💢 Username: @stl_pokemon Description: all chanels : t.me/addlist/AKCBHdY4zShlZTVi Pikachu Charizard Bulbasaur Squirtle Jigglypuff Mewtwo Eevee Snorlax Pokeball Gyarados Team Rocket Gengar 🏷 Tags: #utilities_tools #pokemon#stl#print#pikachu https://telegramchannels.me/channels/stl_pokemon

Daily Channels

@dailychannels · Post #6213 · 17.07.2025 г., 01:00

Channel: Vehicles Cars Planes Ships Military | 3D STL Models Miniatures Print Members: ~13.36K 💢 Username: @vehicles_stl Description: all STL : t.me/addlist/AKCBHdY4zShlZTVi Car models Aircraft models Ship models Tank models STL files 3D printing Scale models Vehicle accessories Classic cars Fighter jets Battleships Armored vehicles Military vehicles Vintage planes Racing Helicopters 🏷 Tags: #auto_moto #stl#print#cars#planes https://telegramchannels.me/channels/vehicles_stl

GitHub Trends

@githubtrending · Post #14774 · 01.06.2025 г., 12:00

#cplusplus#3mf#android#asset_pipeline#assets#assimp#c_plus_plus#collada#dae#fbx#fbx_exporter#game_development#gamedev_tool#gamedevelopment#gltf#gltf2#ifc#patreon#python#stl The Open Asset Import Library (Assimp) is a tool that helps load many different 3D file formats into a common format. It supports over 40 formats for importing and several for exporting. Assimp works on various platforms like Windows, macOS, Linux, Android, and iOS. It also provides tools to improve the 3D models, such as fixing errors and making them look better. This library is useful for developers because it simplifies working with different 3D file types, making it easier to create and manage 3D content across different systems. https://github.com/assimp/assimp