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

Резултати

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

Пребарај: #anrun

当前筛选 #anrun清除筛选

#Anrun Network #武汉移动 @IDC 官网: https://www.anrunnetwork.com 群组: https://t.me/Anrun_Network 频道: https://t.me/AnrunNetwork 价格: https://t.me/pricecentre/202 主观点评:两年多没测过的机场,可以点tag回去翻之前的记录,大家猜猜为什么两年多没更新😉。现在一元套餐可以玩玩,速度不错。 主观评级:C+(按需选择)

#Anrun#测速#中转机场 053 Anrun ✈️ ▎机场信息 🍓官网: Anrun 官网 ✈️频道: @AnrunNetwork ✈️群组: @Anrun_Network 🗓开业时间:最早消息能追溯到20年12月 🚀 ▎测速节点 上海微软10G、北京微软10G、佛山联通2G ✈️ ▎机场类型 -中转 -节点类型:ss 🥫 ▎ 个人评价 -倍率方面: 全1倍 -价格方面: - 1元20G,5元100G的中转机场 建议套餐:按需购买 按需购买即可。这些套餐只有月付,没有其他周期的,但是也只建议月付(我意思是你别tuang tuang去买12个月付😅 - 性价比程度:卧槽,真滴高!!! -速度方面: 主要入口: 江苏南京移动 2G(港、日、新) 广东深圳移动 808M(港、日、新) 湖北长沙移动 696M(香港) 湖北武汉联通 480M(美国节点) 入口挺多的,还有游戏线路。速度也挺快的,日常爱用的亚洲区也是跑的红红火火😙 单线程也是不错的 - 个人评级:快!!! -稳定性方面 用了有一小段时间了,感觉还行,晚高峰也挺快的 (稳定性近期会持续观察) 🐱 ▎ B话专区🌟 还真真真就很有性价比。听说是老板复活赛打赢了,好几年的老机场又回来了👀 - 其他不说,真就不贵,速度也非常的在线 - 非常不建议你月付买12次,用完觉得不错的话可以再买的 - 套餐方面 100G和300G的都还不错的,20G的那个没啥价格优势的 好了 🌟 总结一下: 1、按月买即可 2、按需按量购买即可 3、属于性价比系列 🍓 ▎优惠码 暂无 ⚫️▎其他 暂无 🌟 ▎关于我们 ❤️频道:https://t.me/PushGoodCloud ❤️频道关联群组:https://t.me/OowoO_Chat

ПретходнаСтраница 1 од 4Следна