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

Пребарај: #amb

当前筛选 #amb清除筛选
Coinlegs Cryptocurrency Signals

@coinlegs · Post #9786 · 26.01.2024 г., 02:03

🐬DOLPHIN | AI PREDICTIONS 26.01.2024 02:00 GMT Expected 5% Profit/Loss in 24 Hours #PORTO | 2.478 | PP: 51% | LP: 93% #PROM | 8.059 | PP: 49% | LP: 91% #LAZIO | 2.576 | PP: 46% | LP: 90% #DUSK | 0.2487 | PP: 46% | LP: 94% #PENDLE | 2.4848 | PP: 43% | LP: 93% #OM | 0.09924 | PP: 42% | LP: 90% #CVP | 0.3888 | PP: 36% | LP: 93% #SYN | 0.8595 | PP: 36% | LP: 95% #CHZ | 0.11037 | PP: 34% | LP: 93% #TRX | 0.11277 | PP: 33% | LP: 93% #POND | 0.01638 | PP: 31% | LP: 94% #CHR | 0.2542 | PP: 30% | LP: 94% #FIS | 0.392 | PP: 29% | LP: 91% #CTSI | 0.2212 | PP: 28% | LP: 93% #FXS | 10.035 | PP: 28% | LP: 94% #MKR | 2084 | PP: 28% | LP: 95% #ORDI | 51.163 | PP: 26% | LP: 90% #AMB | 0.00751 | PP: 25% | LP: 90% #BTCDOWN | 0.002722 | PP: 25% | LP: 93% #LSK | 1.301 | PP: 25% | LP: 95% #VTHO | 0.002161 | PP: 24% | LP: 92% #CITY | 2.958 | PP: 24% | LP: 93% #LDO | 2.999 | PP: 24% | LP: 93% #1000SATS | 0.0003885 | PP: 23% | LP: 91% #AUCTION | 24.96 | PP: 23% | LP: 93% #NMR | 19.46 | PP: 22% | LP: 94% #CTXC | 0.4164 | PP: 22% | LP: 95% #AMP | 0.003401 | PP: 21% | LP: 92% #SKL | 0.07252 | PP: 21% | LP: 93% #ALPINE | 2.074 | PP: 21% | LP: 94% #PROS | 0.5028 | PP: 21% | LP: 95% #PSG | 3.253 | PP: 20% | LP: 91% #WING | 8.78 | PP: 20% | LP: 92% #ACM | 2.047 | PP: 20% | LP: 94% #ASTR | 0.1674 | PP: 20% | LP: 94% #MAV | 0.5367 | PP: 20% | LP: 96% #MULTI | 2.202 | PP: 20% | LP: 96% #NTRN | 1.0397 | PP: 19% | LP: 91% #RAD | 1.867 | PP: 19% | LP: 92% #XMR | 157.8 | PP: 19% | LP: 92% #DATA | 0.0461 | PP: 19% | LP: 95% #SEI | 0.6017 | PP: 19% | LP: 96% #INJ | 31.39 | PP: 18% | LP: 93% #RLC | 2.09 | PP: 18% | LP: 95% #DIA | 0.4029 | PP: 17% | LP: 93% #BNX | 0.2869 | PP: 16% | LP: 90% #KMD | 0.2419 | PP: 16% | LP: 90% #RPL | 28.39 | PP: 16% | LP: 91% #SSV | 28.74 | PP: 16% | LP: 91% #ORN | 0.8144 | PP: 16% | LP: 93% ... ——————————————————————— Total Predictions: 368 PP > 50%: 1 LP > 50%: 368 PP > 60%: 0 LP > 60%: 368 PP > 70%: 0 LP > 70%: 367 PP > 80%: 0 LP > 80%: 357 PP > 90%: 0 LP > 90%: 219 ——————————————————————— PP: Profit Probability | LP: Loss Probability