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 слични објави

Пребарај: #linear

当前筛选 #linear清除筛选
404 KIDS SEE GHOSTS (生产力之王版

@Isaiahsystem · Post #1332 · 24.08.2025 г., 11:33

Linear 是个游戏设计管理工具 最近和朋友聊到,如今很必要将行动项和学习计划尽可能独立且并行,让其在未来某个时间点交汇,而非延迟处理。恰逢今天在完善 Linear 中的项目管理和规划,再次感叹 Linear 是伟大的项目管理软件,也是极其优秀的游戏设计管理工具。 Linear 主要突出线性和无压,但其 Mark as/ Create related 有着非常优秀的层级和关联功能,非线性功能。它适合人生管理,或者说游戏设计。如果说 Roam Research 这类双链笔记工具适用于文本项目的非线性处理,那 Linear 完全契合具有时间和空间属性的艺术作品项目。 你想为人生某个阶段设计和规划点什么,你想在某个行动项时间线上插入新的什么,你想将哪两条重要人生时间线拉起并行,比如创造一个产品的同时学习未来相关 AI 开发知识。Linear 可以是最优粒度的项目管理工具,同小粒度时间管理的烧水做饭时切菜前置一样,它是关于时间配置的哲学。 同样,如果你想设计艾尔登法环似的非线性开放世界游戏,你想设计某个 NPC 时间线搭上另一个 NPC 的剧情交互,你想设计某个剧情进展到特定阶段后,才触发与另一个 NPC 的交叉故事匣,亦或是设计「黑暗之魂一」式的箱庭地图,关联「门的这一侧打开」,条条大路通传火祭祀场。Linear 里,你可以关联更多时间进展后、空间交互中的项目设计,它是关于时空配置的哲学。 Linear 是伟大的时间线工具、设计工具、以及伟大的迭代管理工具。 它敏捷、流动,它在非线性文本工具中加入了时空属性,即复杂项目管理。当然,在笔记软件里,也可以解决文本故事线问题,比如艾尔登法环游戏制作之前有个完整成型的小说。 但当你真正投入去开发游戏,做具有周期性、持续迭代、以及具有空间交叉属性的艺术作品时,你真正需要的是线性和非线性化管理,同步和异步时间配置,剧情和地图空间关联,你需要复杂立体的项目呈现。Linear 由此诞出。 相关链接 1 自带工具哲学的顶级软件 #tft#linear

Hashtags

DWF Labs Broadcast

@DWFLabs · Post #456 · 20.11.2023 г., 16:02

🎙️We're excited to join Linear Finance on Nov 24 at 11:00 UTC for this episode of Linear Explorers 'Recipe for a Bull Run?' 🚀 Set your ⏰️ for this conversation this Fri ⚡️ Happening here. $LINA #Linear#BNBChain

Venture Village Wall 🦄

@venturevillagewall · Post #3383 · 18.12.2024 г., 12:09

TVision Secures $1.5M Funding TVision has raised $1.5M in funding as of December 16, 2024. The company utilizes advanced computer-vision technology to analyze viewer engagement for both Linear and CTV, offering person-level insights into viewing habits. #Funding#TVision#Technology#ViewerEngagement#CTV#Linear#Insights#ComputerVision#Analytics#Viewership#Audience#Engagement#Media#Streaming#Data#Research#Investment