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

Резултати

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

Пребарај: #mako

当前筛选 #mako清除筛选
IB美术馆

@PaintingCollections2 · Post #3440 · 10.02.2026 г., 12:07

[MAKO]MAKO 2025.6.27—2025.10.27 画师:#MAKO 预览未展示全面,全部差分原图和整合压缩包请进入评论区或点击下方超链跳转查看 压缩包 MAKO老师的往期传送门(之后可能会有一期分裂成两期展示,我会标注出来也请注意查看捏) 2025.6.27—2025.10.27 2025.4.27—2025.6.30 2023.4.2—2024.8.16 —————————— 本频道分享的资源切勿进行买卖商用,如有条件还请在画师的赞助支持渠道获取赞助奖励 MAKO老师主页:PixivTwitterPatreonSubscribestarFantiaFanbox —————————— 资源有任何问题请加入下方聊天反馈群进行反馈,爱你们 图集主频道(临时复活版):@PaintingCollections2 聊天反馈撩骚群:@ChaoJiShiBu 游戏区分馆:@MoNvZhiJia23333 防失联及各附属频道导航:@IBgallery233 求物帖:传送门

Hashtags

IB美术馆

@PaintingCollections2 · Post #1222 · 06.07.2025 г., 04:16

[MAKO]MAKO 2023.4.2—2024.8.16 画师:#MAKO 预览未展示全面,全部差分原图和整合压缩包请进入评论区或点击下方超链跳转查看 压缩包 MAKO老师的往期传送门(之后可能会有一期分裂成两期展示,我会标注出来也请注意查看捏) 2025.4.27—2025.6.30 2023.4.2—2024.8.16 —————————— 本频道分享的资源切勿进行买卖商用,如有条件还请在画师的赞助支持渠道获取赞助奖励 MAKO老师主页:PixivTwitterPatreonSubscribestarFantiaFanbox —————————— 资源有任何问题请加入下方聊天反馈群进行反馈,爱你们 图集主频道(临时复活版):@PaintingCollections2 聊天反馈撩骚群:@ChaoJiShiBu 游戏区分馆:@MoNvZhiJia23333 防失联及各附属频道导航:@IBgallery233 求物帖:传送门

Hashtags

IB美术馆

@PaintingCollections2 · Post #1212 · 05.07.2025 г., 19:35

[MAKO]MAKO 2025.4.27—2025.6.30 画师:#MAKO 预览未展示全面,全部差分原图和整合压缩包请进入评论区或点击下方超链跳转查看 压缩包 MAKO老师的往期传送门(之后可能会有一期分裂成两期展示,我会标注出来也请注意查看捏) 2025.4.27—2025.6.30 —————————— 本频道分享的资源切勿进行买卖商用,如有条件还请在画师的赞助支持渠道获取赞助奖励 MAKO老师主页:PixivTwitterPatreonSubscribestarFantiaFanbox —————————— 资源有任何问题请加入下方聊天反馈群进行反馈,爱你们 图集主频道(临时复活版):@PaintingCollections2 聊天反馈撩骚群:@ChaoJiShiBu 游戏区分馆:@MoNvZhiJia23333 防失联及各附属频道导航:@IBgallery233 求物帖:传送门

Hashtags

djangoproject

@djangoproject · Post #314 · 26.04.2017 г., 16:41

https://github.com/aio-libs/aiohttp-mako #mako template renderer for #aiohttp.web based on aiohttp_jinja2. Library has almost same api and support python 3.5 (PEP492) syntax. It is used in aiohttp_debugtoolbar.

djangoproject

@djangoproject · Post #197 · 29.11.2016 г., 16:06

#Mako is a #template library written in Python. It provides a familiar, non-XML syntax which compiles into Python modules for maximum performance. Mako's syntax and #API borrows from the best ideas of many others, including #Django and #Jinja2 templates, #Cheetah, #Myghty, and #Genshi. Conceptually, Mako is an embedded Python (i.e. Python Server Page) language, which refines the familiar ideas of componentized layout and inheritance to produce one of the most straightforward and flexible models available, while also maintaining close ties to Python calling and scoping semantics. http://www.makotemplates.org/