@BGP_Channel · Post #5425 · 13.12.2021 г., 13:23
#coalcloud 上海9929 Vds特惠预售 限量8台 8h16G 500M(峰值带宽)不限流量 2500/月 预购请联系@linzijiang 1月3日开通
Hashtags
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
Пребарај: #coalcloud
@BGP_Channel · Post #5425 · 13.12.2021 г., 13:23
#coalcloud 上海9929 Vds特惠预售 限量8台 8h16G 500M(峰值带宽)不限流量 2500/月 预购请联系@linzijiang 1月3日开通
Hashtags
@BGP_Channel · Post #5586 · 05.12.2022 г., 15:44
#coalcloud #广州移动8折优惠码coalcloudgzcm2023 广州移动一区 新节点上线 新增VDS6,VDS7,VDS8节点 流量型产品 折后双IP 1T单向流量仅需168元/月 免费赠送ipv6 套餐预设流量 6元/100G 产品使用期间可按需购买流量加油包 独享型产品折后仅需6元/M 最低100M起售 下单地址:https://coal.coalcloud.net/console/store/store
Hashtags
@BGP_Channel · Post #5450 · 04.01.2022 г., 08:06
#coalcloud#新品上架 丽水移动高性能VDS 5950X CPU核弹性能 计算型C1.c1m1 1vCPU 1GB Ram 500Mbps 带宽 400GB 流量 单向流量计费 新用户使用用户优惠码 mzfqy666 折合367.52元/年 流量25元/t 可自助添加 购买地址 https://coal.coalcloud.net/store/store
Hashtags
@BGP_Channel · Post #5438 · 27.12.2021 г., 11:14
#coalcloud#新品上架 辽阳联通VDS 5950X CPU核弹性能 标准型S1.c1m1 1vCPU 1GB Ram 500Mbps 带宽 400GB 流量 单向流量计费 412元/年 流量21元/t 可自助添加 购买地址 https://coal.coalcloud.net/store/store
Hashtags
@HostEvaluate · Post #633 · 25.03.2020 г., 05:40
HostProvider: CoalCloud (长沙联通) Specification: 2 vCore | 2G RAM | 20G SSD Raid10 Network: 6T @ 200Mbps Looking glass: 58.20.33.1 Price: 368CNY / Month #CN#CU#CoalCloud
Hashtags
@dingyue_Center · Post #3275 · 18.06.2025 г., 16:51
#VPS#抽奖 #荔枝云 🎁4个抽奖 共350台VPS 🎉白嫖vps1月 👉@lycheencloud 📅开奖日期:06月19日 19时30分00秒 #Coalcloud 碳云(CoalCloud) NodeSeek 专属 618 福利抽奖活动 这都抽不到那你就是非酋
Hashtags
@BGP_Channel · Post #5457 · 17.01.2022 г., 13:16
#coalcloud#凭嘉心糖牌子购买可返现30元 上海联通9929 vds 现货开卖 标准型S2.c4m8 40G ssd硬盘 峰值带宽 500Mbps 10T单向流量(130元/T) 月付 1680元 季付9.5折 半年付9折 年付8.5折 更多规格~ #到日延迟堪比iepl 购买地址 华东大区 上海9929 https://coal.coalcloud.net/store/store Coalcloud全球加速 标准版 节点上新(不参与返现) (标准版)新增节点 上海联通9929|1Gbps 6x (标准版)新增节点 沪日9929|1Gbps 6.5x 购买地址 标准版 https://coal.coalcloud.net/store/cdnStore
@BGP_Channel · Post #5456 · 15.01.2022 г., 13:53
#coalcloud#新年特惠 广州移动vds 年付特惠款 标准型S1.c1m2.660 40G ssd硬盘 峰值带宽 1000Mbps 1T单向流量 年付 660元 两年付8.3折 三年付8.3折(流量翻倍) 标准型S1.c2m4.840 40G ssd硬盘 峰值带宽 1000Mbps 1T单向流量 年付 840元 两年付8.3折 三年付8.3折(流量翻倍) #183段/120段ip随机分配,可提交工单更换,web端口需备案域名过白才能使用,严禁搭建任何代理程序 #免费赠送ipv6 购买地址 https://coal.coalcloud.net/store/store
Hashtags