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

Резултати

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

Пребарај: #r3vukwtf

当前筛选 #r3vukwtf清除筛选
PT资讯频道

@PrivateTrackerNews · Post #684 · 09.07.2019 г., 14:12

2019/07/09 #开放注册 #OpenSignupTracker #国外PT 电报 @PT资讯频道 Telegram @privatetrackernews 电视站 无分享率要求,HR单集24小时(1天),整季120小时(5天),Gazelle架构 Tracker's Name: #Nebulance(Aka.TransmitThe.net) Genre: TV Sign-up Link: https://nebulance.io/register.php Closing date: Soon! Additional information: Nebulance (Aka.TransmitThe.net) is a ratioless Gazelle-based private TV tracker with no rar files. Tracker got about 5.2K registered members with App. 24K uploaded torrents which makes it an active one with good speeds.Episodes must be seeded for a minimum of 24 hours (1 Day),Seasons must be seeded for a minimum of 120 hours (5 Days). 电影电视音乐综合站 有自动发种机器人发布最新资源 Tracker's Name: #R3VUKWTF (R3V) Genre: General Sign-up Link: http://r3vuk.wtf/login.php Closing date: Soon Review's Link: R3VUK.Wtf | R3V | General | 2018 Review Additional information: Very nice site, normally invite only, but has opened its doors for a short time......well worth a look if you like all the new music, movies and tv. showsR3VUK is an older Private Torrent Tracker for Movies / TV / Music / General Releases This tracker has a great selection of new released music as well as a new release group that will fill all of your movie watching needs! The site has an autobot to bring in all of the latest releases, along with dedicated uploaders to help fill requests!