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

Пребарај: #parsi

当前筛选 #parsi清除筛选
Elena Basile Public Channel

@elenabasilepublicchanel · Post #158 · 27.10.2024 г., 10:34

Ci sono state manifestazioni per la pace in varie città di Italia Eppure la divisione anche in questo caso è stata inevitabile Non si può manifestare per la pace e poi 1) votare per le armi all' Ucraina 2) essere complici del genocidio a Gaza e non proporre sanzioni a Israele, votare alle Nazioni Unite contro il cessate il fuoco duraturo Essere contro la guerra non è una posizione spirituale di finto pacifismo Essere contro la guerra è una posizione politica che menziona le guerre e si adopera attivamente per la pace Oggi #Travaglio ricorda tutte le cantonate prese dai cosiddetti esperti di analisi internazionale onnipresenti in tv E i relativi linciaggi di coloro che hanno commentato le relazioni internazionali senza pregiudizi e con onestà intellettuale Prevedendo gli sviluppi #Parsi#mieli#panebianco per citarne alcuni emblematici di una certa narrativa di parte copia e incolla di quella dell' OTAN Non dovrebbero chiede scusa? Rivelarci le fonti di analisi che devono ammettere erano sbagliate? Linciata pubblicamente, chiamata funzionario di grado medio basso traditrice dei valori della Repubblica ( quali valori ? Quelli del potere? Non della Costituzione) aspetto ancora le scuse dei Direttori dei principali giornali In questo articolo pubblicato venerdì sul #fatto parlo della barbarie, della perdita di umanesimo , delle crociate bellicistiche Gli stessi , i neoconservatori statunitensi e la classe dirigente vassalla sono artefici del genocidio di Gaza e della guerra alla Russia fino all' ultimo ucraino Purtroppo se l opinione pubblica smaschera il cinismo della classe dirigente a #Gaza, non riesce a farlo in #Ucraina Le manifestazioni sono finite Relax è domenica Il politici pensano ai loro giochetti di potere La classe di sevizio li accompagna Noi impotenti prostrati con l 'unica consolazione di avere cercato di non essere complici E intanto i bambini continuano a morire Le vittime lanciano le loro urla nel deserto Il Governo di #Israele continua il genocidio, l apartheid, le violazioni del diritto internazionale e umanitario Colpisce i giornalisti gli operatori UNRWA, scuole e ospedali, campi profughi Semina nell'impunità totale morte dolore distruzione La Harris ride e rassicura gli elettori: il genocidio andrà avanti ma ci saranno mercanzie a basso prezzo nei supermercati #Lebanon2024 #GazaGenocide #russia