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

Резултати

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

Пребарај: #diagrams

当前筛选 #diagrams清除筛选
GitHub Trends

@githubtrending · Post #15335 · 16.12.2025 г., 13:30

#typescript#diagrams#mermaid Mermaid Live Editor lets you edit and preview flowcharts, sequence, and Gantt diagrams in real time using simple text. Save as SVG, share view or edit links easily, and run it via Docker or locally with Node.js and pnpm. This helps you quickly create, collaborate on, and update diagrams without drawing tools, making documentation and team work faster and simpler. https://github.com/mermaid-js/mermaid-live-editor

Ignition of cognition

@neurobros · Post #473 · 21.02.2025 г., 16:00

Давно хотел нарисовать диаграмму понятным языком объясняющую как выбирать лицензию для публикуемых датасетов. Вернее, вначале хотел написать текстом разные сценарии, а потом понял что визуально то понятнее. Так что вот Вам готовая схема для принятия решений убрал только усложняющие пункты типа "Надо всё согласовывать с юристами?" или "Не хотите ни за что отвечать?". Ну да их в какой-нибудь следующей версии Всё сделано с помощью Mermaid диаграмм декларативным описанием. #licenses#data#diagrams

Город на карте

@geomapers · Post #191 · 24.02.2025 г., 18:30

Давно хотел нарисовать диаграмму понятным языком объясняющую как выбирать лицензию для публикуемых датасетов. Вернее, вначале хотел написать текстом разные сценарии, а потом понял что визуально то понятнее. Так что вот Вам готовая схема для принятия решений убрал только усложняющие пункты типа "Надо всё согласовывать с юристами?" или "Не хотите ни за что отвечать?". Ну да их в какой-нибудь следующей версии Всё сделано с помощью Mermaid диаграмм декларативным описанием. #licenses#data#diagrams

GitHub Trends

@githubtrending · Post #15471 · 04.02.2026 г., 20:00

#typescript#architecture#architecture_as_code#c4#diagrams LikeC4 lets you describe software architecture in simple code files that automatically generate live, up-to-date diagrams you can visualize, collaborate on, and evolve. Inspired by C4 model, it offers flexible custom elements, notations, and nested levels tailored to your needs—run `npx likec4 start` for instant previews via CLI, VSCode extension, or web viewer. You benefit by ending stale docs, ensuring diagrams match your code as the single truth, saving time on manual drawing, enabling easy Git diffs/reviews, and boosting team understanding of complex systems. https://github.com/likec4/likec4

GitHub Trends

@githubtrending · Post #14649 · 30.04.2025 г., 13:00

#typescript#csv#diagrams#graph#json#nextjs#react#tool#visualization#yaml JSON Crack is a free, open-source tool that instantly turns complex JSON, YAML, CSV, XML, or TOML data into clear, interactive graphs, making it easier to explore and understand your information. It lets you convert between formats, validate data, generate code (like TypeScript interfaces), run queries, and export visuals as images—all while keeping your data private since everything processes locally on your device[1][2][5]. https://github.com/AykutSarac/jsoncrack.com