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

Пребарај: #sjc

当前筛选 #sjc清除筛选
Host Testing and evaluation

@HostEvaluate · Post #873 · 06.11.2023 г., 14:41

#megalayer#SJC Host Provider: MEGALAYER Location: San Jose Specification: E3-1230v3 | 8GB DDR3 RAM | 1T HDD | 30Mbps & 3xIPv4 | $15 / Mo 本来是 i3 的套餐,但是没货了 CPU 升到了 E3. 现在相似配置的 E3 要 30$。官网的测试 IP 只有香港的,这里就不贴了。有需要的话可以去 report 里面拿网关测,选的是优化网络。 硬盘 IO 有点脱节,除此之外性能倒是不错。回程路由三网走 CN2。流媒体基本上常见的能解锁的都解锁了。 https://paste.debian.net/hidden/97a264ad/ 流媒体报告 https://paste.debian.net/hidden/4949e4a2/ 测速报告: https://result.network-speed.xyz/r/1699017386_ABFJP7_GLOBAL.txt

Host Testing and evaluation

@HostEvaluate · Post #826 · 22.09.2022 г., 08:05

#DMIT#US#SJC Host Provider: DMIT Location: San Jose, California, US Specification: 1vCore(EPYC 7443P) | 1.5GB RAM | 20G SSD | 4000GB @ 10Gbps | $12.9 / Mo, $61.92 / Semi-Anual(Lite-Annually-Recur-30OFF), $108.36 / Anual(Lite-Semi-Annually-Recur-20OFF) 购买地址(含aff) 感谢商家提供的测试机。性能很棒的机器。三网回程 4837. 东西挺好,就是贵。 商家称单母鸡上联 80G, 总计有 200G cogent, 200G telia, 200G CU(4837) 以及 100G EQIX. 目前是单 VM 限速至 10G, 日后会改为单 IP 限速 10G. 目前仍在 OpenBeta 阶段顾无 SLA 保障 10 月 26 日前正价年付还有买一送一活动。 https://paste.red/p/e57837da02d4

Hashtags

Host Testing and evaluation

@HostEvaluate · Post #857 · 25.01.2023 г., 16:43

#YXVM#US#SJC Host Provider: YxVM Location: San Jose, California, US Specification: 1vCore | 1GB RAM | 15GB Disk | 1T@500Mbps | $5.6 / Mo (Promo code: 12UNQUSBV1 ) Looking glass: https://sjc-sn.lg.node.yxvm.com/ 感谢商家提供的测试机。80/443 端口不可用。三网回程都是 dmit 的 4837. 海外路由走 misaka. 他们家 anylan 的功能做的不错,允许不同节点的机器互相联通,应该是走的专线并且不消耗公网流量。 https://paste.red/p/83b5679aeedc

Hashtags

Host Testing and evaluation

@HostEvaluate · Post #843 · 20.11.2022 г., 13:53

#Saltyfish#SJC#US Host Provider: SaltyFish.IO Location: San Jose, California, US Specification: 1vCore(Intel Broadwell) | 1G RAM | 20G SSD | 1200GB @ 1Gbps | ¥116.02 / Quarterly(With promo code SJC-E-AQN8QW6C2P) Looking glass: lg.saltyfish.io 感谢商家提供的测试机。这款在黑五期间硬盘、带宽翻倍,流量多了 200G. 机器内存读写有点不对等。三网回程 9929. 海外流量看起来是 NetActuate + equinix ix https://paste.red/p/a06743f89e41

Host Testing and evaluation

@HostEvaluate · Post #833 · 19.10.2022 г., 12:38

#AperNet#SJC#US HostProvider: Apernet Location: San Jose, California Specification: 2vCore(EPYC 7003 Series) |1GB RAM | 15GB NVMe | 2TB(outbound) @ 10Gbps | $10 / Mo 匿名投稿。联通走 4837, 电信移动 HE. 海外清一色的 HE. IP 是阿根廷的,用来订阅互联网增值服务不错。 https://paste.red/p/bf58cdec7907

【服务需求】【美国】【硅谷】下架服务器搬迁到另外一个机房。 必要工具:螺丝刀、有后备箱的车。 任务范围: - 到达 Hurricane Electric FMT (48233 Warm Springs Blvd, Fremont, CA 94539, USA) 。下架一台 2U 服务器和导轨,需打开服务器取下 12 根内存和显卡放在原机柜,离开时锁好机柜并拍照。 - 将服务器运输至 OpenColo (3223 Kenneth St,Santa Clara,California 95054, USA)。上架到对应机柜位置,并调通。 酬金:200 美元。 联系发布者:@NUBE_Nick #美国#SJC#需求#Requirements 更多远程手需求,请订阅频道 https://t.me/GlobalRemoteHandsServices

【服务需求】【美国】【硅谷】下架服务器搬迁到另外一个机房。 必要工具:螺丝刀、有后备箱的车。 任务范围: - 到达 Hurricane Electric FMT (48233 Warm Springs Blvd, Fremont, CA 94539, USA) 。下架一台2U服务器和导轨,需打开服务器取下12根内存和显卡放在原机柜,离开时锁好机柜并拍照。 - 将服务器运输至 OpenColo (3223 Kenneth St,Santa Clara,California 95054, USA)。上架到对应机柜位置,并调通。 酬金:200 美元。 联系发布者:@NUBE_Nick #美国#SJC#需求#Requirements