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

Резултати

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

Пребарај: #minniti

当前筛选 #minniti清除筛选
Ultimora.net - POLITICS

@ultimoraPOLITICS · Post #39827 · 02.06.2022 г., 08:56

#Italia#Vaticano ❗️Fonti CEI: Papa Francesco avrebbe disertato il Forum del Mediterraneo di Firenze non per problemi fisici, ma per la presenza dell'ex ministro degli interni Marco #Minniti (PD). Il Papa avrebbe descritto Minniti come "un criminale di guerra". @UltimoraPolitics

Libertà è ragione

@libertaeragione · Post #4352 · 02.03.2025 г., 16:00

#Italia#Libia#CPI#Factchecking Prossimamente dovrebbe essere discussa alla #Camera la mozione concernente la sfiducia individuale al Ministro della Giustizia Carlo #Nordio (#FdI|ECR) per i fatti relativi al caso #Almasri. Qualche settimana fa il Ministro della Giustizia Carlo Nordio in audizione alla Camera dei Deputati ha dichiarato di non aver dato seguito al mandato di cattura emesso dalla Corte Penale Internazionale a carico del generale libico Almasri perché il mandato sarebbe stato illegittimo e di conseguenza inapplicabile. Ma le cose stanno davvero così? Facciamo chiarezza. Innanzitutto il generale Almasri risulta accusato dalla corte dell'AJA di crimini contro l'umanità, avvenuti nei centri di detenzione libici, dove la Libia manda chiunque cerchi di lasciare il Paese per emigrare verso l'Italia, istituiti sulla base del memorandum d'intesa tra l'Italia e la Libia firmato dall'ex Ministro dell'Interno Marco #Minniti (#PD|S&D). L'art. 4 della legge 20 dicembre 2012, n. 237 dispone che «il ministro della Giustizia da corso alle richieste formulate dalla Corte penale internazionale, trasmettendole al Procuratore generale presso la Corte d’Appello di Roma perché ne dia esecuzione». Quando invece sono necessarie ulteriori indagini il Ministro della Giustizia «ove ritenga che ne ricorra la necessità, concorda la propria azione con altri ministri interessati, con altre istituzioni o con altri organi dello Stato. Al ministro della Giustizia compete altresì di presentare alla Corte, ove occorra, atti e richieste» come previsto dall'art. 2 della suddetta legge. Questo articolo, applicato con una certa fantasia interpretativa, ha permesso al ministro Nordio di concordare con il Ministro dell'Interno Matteo #Piantedosi prima la scarcerazione del generale libico, atto dovuto in quanto la convalida dell'arresto non poteva avvenire senza il parere positivo di Via Arenula 70, e poi il successivo rimpatrio in Libia per motivi di "sicurezza nazionale" in quanto individuo pericoloso secondo il Viminale. Infine, per concludere il quadro giuridico è bene specificare che il Procuratore generale, ricevuti gli atti, chiede alla Corte d’Appello l’applicazione della misura della custodia cautelare nei confronti della persona della quale è richiesta la consegna (art. 11, co. 1). La Corte d’Appello di Roma, sulla richiesta, decide con il rito camerale. Può dichiarare che non sussistono le condizioni per la consegna soltanto se non è stato emesso dalla Corte penale internazionale un provvedimento restrittivo della libertà personale; se non vi è corrispondenza tra l’identità della persona richiesta e quella della persona oggetto della procedura di consegna; se la richiesta contiene disposizioni contrarie ai principi fondamentali dell’ordinamento giuridico dello Stato; se, per lo stesso fatto e nei confronti della stessa persona, è stata pronunciata nello Stato italiano sentenza irrevocabile (art. 13, co. 3). Quindi, in conclusione, le dichiarazioni del ministro Nordio che, ricordiamo, era anche un pubblico ministero in passato, circa i "pasticci" con la data errata dei fatti o la mancata traduzione in italiano del mandato di cattura internazionale, di una gravità tale da far commettere un reato al ministro qualora avesse dato seguito alla richiesta del tribunale dell'AJA, risultano infondate e denotano un operato negligente del Ministro Nordio nei confronti dell'istituzione dello Statuto di Roma. @OsservatorioItaliano