Можно ли в 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
A proposito del "ricchissimo" dibattito politico nel Paese.
Ho sfidato me stesso: trovare un'uscita più qualunquista di questa, in cui @AndreaScanzi attribuisce il qualunquismo ad altri.
Esito: ho fallito.
#politica#informazione#destra#sinistra
https://x.com/SavinoBalzano/status/1808204512244445198?t=gr2UdxJ8mztVBUdH0qdKyQ&s=19
Che vuol dire oggi "sinistra"? Cos'è la "destra"?
La mia al TG Plus di Cusano Italia TV
#politica#italia#informazione#giornalismo#destra#sinistra#televisione
Abbiamo parlato con @SilviaSardone e le abbiamo chiesto cosa sia necessario per una Milano più sicura. La sua risposta è chiara: ripartire dall'identità.
Sentite cosa ci ha detto 🔥
#governo#italia#destra#politica#politicaitaliana
Post-referendum: il campo è largo, ma vuoto di protagonisti.
Ugo Boghetta smonta i facili entusiasmi. I numeri parlano chiaro: il "Sì" non è una vittoria del centrosinistra, che ha perso 3 milioni di voti rispetto al 2022. Il "No" resiste, ma anche il centrodestra è in difficoltà, con alle spalle due bocciature pesanti (Autonomia differenziata e riforma della magistratura).
La vera fotografia? Due debolezze strutturali a confronto. Un elettorato frammentato, milioni di cittadini orfani di proposte convincenti, illusi e disillusi da entrambi i lati.
Che vinca l'uno o l'altro, cambieranno gli attori, non la commedia.
L'unica vera alternativa sarebbe una posizione antiliberista, costituzionale e fuori dagli organismi internazionali, per neutralità e indipendenza. Ma il campo è deserto.
Ci siamo solo noi, in attesa di un soggetto politico che non c'è.
#Referendum#AnalisiPolitica#Sinistra#Destra#UgoBoghetta
https://www.marx21.it/italia/post-referendum-quo-vadis/
Se vince la sinistra il popolo è illuminato.
Se a vincere è la destra, il voto è populista, barbaro, esercitato con la pancia se va bene (con le gonadi se va male).
Credo che questa interpretazione sia alla base della sconfitta di una sedicente sinistra che per dieci anni ha governato il Paese, lo ha liquidato, senza aver mai vinto le elezioni.
La mia al TG PLUS di Cusano Italia TV
#Berlusconi#Meloni#politica#italia#informazione#giornalismo#televisione#destra#sinistra
Cittadini, militanti della destra francese e di tutta Europa si sono riuniti per le strade di Lione.
I marciapiedi erano gremiti, fra emozione e silenzio.
Il corteo ha ripercorso le vie principali fino a raggiungere il luogo dove Quentin ha lottato per l’ultima volta, spento dall’odio antifascista.
Gli abitanti di Lione affacciati alle finestre sono scesi e si sono uniti al corteo.
Un lungo minuto di silenzio.
Tutta Rue Lagrange inginocchiata.
L’amore per la politica non può e non potrà mai essere spento dall’odio.
#destra#francia#attualita#attualità#notizie
Questo non è il volto patinato della città del design e della moda, questo è il vero volto della Milano del 2025.
Questa è Milano senza filtri.
Oggi vi portiamo in Via Padova, cuore pulsante di un quartiere dimenticato, dove il degrado urbano, l'abbandono istituzionale e la criminalità quotidiana raccontano una realtà troppo spesso ignorata.
Abbiamo camminato tra le strade, parlato con i residenti, ascoltato storie che non trovano spazio nei notiziari.
Rabbia, disperazione, senso di abbandono regnano sovrani, in una strada diventata tristemente famosa per i giornalieri fatti di cronaca nera
Guarda il video e scopri di più!
#immigrazione#sicurezza#news#attualita#attualità#politica#italia#destra#politicaitaliana
L'Imam spiazza tutti dal pulpito dicendo che gli italiani non sono razz*sti ma un popolo che chiede solo ordine e sicurezza. Parole che suonano come una lezione di realismo e anti ideologia. Un richiamo al buon senso di chi sa che l'Italia è un paese ospitante, non il terzo mondo.
#immigrazione#sicurezza#news#attualita#attualità#politica#italia#destra#politicaitaliana#governo
https://x.com/SavinoBalzano/status/1869824403438972988?t=SlRhWhvtMS__pKbKfi0MjQ&s=19
Qual è il nome del peggior #Sindaco nella storia di #Roma? Si chiama #RobertoGualtieri.
Per carità, anche da #Ministro non è stato memorabile: in pochi lo ricordano, più che altro per una strimpellata in tv piuttosto deprimente.
Ciò detto, in pochi giorni si è superato: a proposito della sua amministrazione ha parlato di "miracoli di rapidità" e, a poche ore di distanza, pubblica un video nel quale inaugura una nuova grande opera, una ciclabile di meno di un chilometro (lo dice lui stesso) che collega Termini a La Sapienza, un tratto di strada che a piedi avrò percoso centinaia di volte in meno di dieci minuti. Una roba poco più che inutile.
Di contro, lunedì, per una commissione, ho dovuto percorrere in auto 13 km e, tra andare e tornare, sono stato alla guida la bellezza di tre ore.
La #Capitale cade a pezzi, letteralmente, e noi che la viviamo (e l'amiamo) abbiamo la merda fino al collo: ovvio che quando vedi certe pagliacciate ti incazzi e non poco.
Ancora però mi domando: tutti quelli che mettevano in croce Virginia Raggi dove minchia sono finiti? Giornali di #destra e di #sinistra, telegiornali che hanno aperto per mesi i titoli coi disastri capitolini del tempo, non avete proprio nulla da dire su Gualtieri? Niente niente?
La #democrazia, quanto ci piace.
Il #BattitoreLibero a #5Notizie, #RadioCusanoCampus
Camminando in questo quartiere la prima sensazione è di un luogo sospeso. Un'arteria storica di Milano, un tempo vivace e multiculturale, oggi percepita da molti dei suoi stessi abitanti come una terra di nessuno.
Questa è Milano senza filtri.
Questa è Via Padova.
Un laboratorio sociale diventato, agli occhi di chi lo vive ogni giorno, un esempio di degrado e abbandono. Il dato demografico racconta una realtà precisa: sette residenti su dieci sono di origine straniera.
A questa complessa situazione si aggiunge il progetto di una nuova moschea. Un’opera pubblica che per l’amministrazione è un passo verso l’inclusione, ma che molti residenti – italiani e non – guardano con scetticismo, chiedendosi se non sia l’ennesimo paravento per non affrontare i veri, urgenti problemi: sicurezza, legalità e vivibilità.
E tu? Cosa ne pensi?
Faccelo sapere nei commenti!
#immigrazione#sicurezza#notizie#notizia#news#italia#milano#viapadova#governo#destra#politicaitaliana#politica
Mentono come respirano
Ora il nuovo catechismo è : #Putin ha perso la guerra
Europarlamentari, analfabete politicamente , vogliono convincerci che l' Ucraina ridotta a uno Stato fallito, con una generazione di giovani massacrati, un terzo della popolazione emigrato, senza piú uomini nè munizioni, sotto legge marziale, senza #Crimea, #Donbas e altri oblast ha vinto.
Cosa gliene importa della realtà? Della sofferenza?
Queste signore che pullulano nel PD aspettano uno slogan
Marionette eterodirette
Quanta ipocrisia!
Giornalisti influenzati dalla lobby di israele e degli affari sono tristi perchè #Washington e #Mosca si parlano
Vogliono che la guerra continui
#calenda scappa in Ucraina per dar man forte a #Zelensky che ha svenduto il suo paese a interessi stranieri
Sono assetati di sangue
Hanno appoggiato i crimini di #Netanyahu, la #destra ancora di piú del partito di notabili democristiano che è divenuto il #PD.
Quando avremo dati reali sui morti in Ucraina e a Gaza inorridiremo
Questa classe dirigente europea
Questo governo italiano
Questa falsa opposizione
I media corrotti
hanno le mani grondanti di sangue
#GazaGenocide
#leadereuropei
#Russia
#Mentana
Se venite il 21 alla libreria della stazione Termini ne parliamo con #moniovadia