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

Резултати

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

Пребарај: #piazza

当前筛选 #piazza清除筛选
Savino Balzano

@savinobalzano · Post #334 · 06.03.2023 г., 14:05

«Maestà il popolo ha fame e non ha più pane» «Se non hanno più pane che mangino l'antifascismo» #politica#informazione#antifascismo#fascismo#sinistra#manifestazione#piazza#EllySchelin#PartitoDemocratico#Italia

Savino Balzano

@savinobalzano · Post #968 · 06.04.2025 г., 08:47

https://x.com/SavinoBalzano/status/1908802475810775512?t=rm6rSLpAqNAIyaoqODxV3A&s=19 La piazza di ieri è stata un grande successo, e il Paese — la parte sana dell’#Italia, la stragrande maggioranza — deve essere grato a chi l’ha organizzata. Avevamo bisogno di lanciare un urlo di liberazione, di indignazione, di rivendicazione. La gente voleva affermare il proprio desiderio di #pace, l’opposizione alla folle corsa al riarmo. Voleva denunciare le atrocità della #guerra, e quella #piazza ha permesso a tantissime persone di farlo. Ieri sera, l’informazione ha minimizzato la portata dell’evento, arrivando persino a mettere l’accento sulla partecipazione di qualche soggetto strampalato. Bene: è la prova che le istanze di quel popolo erano giuste, vere. Se i media tentano di oscurarle o denigrarle — in un Paese in cui domina un’informazione disinformante di regime — non servono altre conferme. E non è finita, vedrete: partirà qualche inchiesta su chi ha organizzato i pullman, ad esempio. Come se fosse un crimine. L’indecenza sarebbe stata ricorrere a risorse pubbliche, magari del Comune di #Roma. Ma queste cose accadono altrove. Ci tengo a ricordare che anche a #Milano una piazza si è riempita, affermando i principi della pace e dell’interesse nazionale: anche a loro è giusto rivolgere gratitudine. Detto ciò, c’è un’ipocrisia di fondo che #Conte non può continuare a ignorare, perché è grande come un grattacielo. Quella piazza è incompatibile con il #PartitoDemocratico. #Schlein poteva anche mandare tutti i parlamentari del mondo, ma quelle istanze sono semplicemente inconciliabili con il partito che guida: l’acqua da una parte, l’olio dall’altra. Conte non può continuare a puntare su temi assolutamente secondari per non rompere, perché qui si parla di una questione sistemica, esistenziale: il #PD è il partito della guerra, delle armi, di questa Unione Europea. Persino più dell’ignavo partito della premier. Se per Conte un dialogo è possibile con Schlein, allora dovrebbe esserlo anche con #Tajani. Strano che escluda quello con #Salvini — lo ha escluso anche ieri sera da #Padellaro, a domanda diretta. Una domanda che mi sembrava di assoluto buon senso. Fossi in Conte, chiamerei Salvini oggi stesso: se la pace è davvero la priorità assoluta per i nostri figli, mi pare un interlocutore decisamente più opportuno di chi vota certe risoluzioni al #ParlamentoEuropeo. Risoluzioni che non contano nulla, sia chiaro: l’#UE è un sistema di ingegneria istituzionale che con la #democrazia non ha nulla a che fare. Un po’ come il PD, che la democrazia ce l’ha solo nel nome. E a proposito: che cosa hanno votato il 2 aprile? "la scelta del regime russo di minare l'ordine internazionale basato su regole e l'architettura di sicurezza dell'Europa e di dichiarare guerra ai paesi europei o di cercare di destabilizzarli al fine di realizzare la sua visione imperialista del mondo, rappresentano la minaccia più grave e senza precedenti per la pace nel mondo (...). L'Ucraina deve essere dotata delle capacità militari necessarie per tutto il tempo che le servirà per riportare una vittoria militare decisiva (...)" Caro Conte, potrai anche trovare con questa gente un’intesa sui colori della segnaletica stradale o sulla riforma del catasto, ma difficilmente potrai mettertici d’accordo su un tema come quello per cui hai chiamato a raccolta la piazza di ieri a Roma. E dunque la domanda che ti rivolgo — ringraziando ancora te e la tua comunità per quanto fatto ieri — è: quanto è importante per te la pace? cosa sei disposto a sacrificare e rivedere? Questo è il punto. Il resto sono chiacchiere.

Savino Balzano

@savinobalzano · Post #830 · 29.11.2024 г., 14:05

https://x.com/SavinoBalzano/status/1862495129740714239?t=wrTMSCyGVhrBwkE8c_2zbQ&s=19 Oggi sono stato ospite di Aldo Pecora su Radio1Rai e abbiamo parlato di #lavoro e di #ScioperoGenerale. Il #Sindacato ha bisogno di recuperare credibilità: la sua postura tende a cambiare a seconda di chi governa e questo non è serio. Inoltre si dovrebbero scegliere meglio i "compagni" di piazza: non mi sembra ragionevole protestare contro la manovra, rivendicare la #SanitàPubblica, insieme a chi ha falcidiato il #SSN facendogli mancare circa 40 miliardi in 10 anni; non mi sembra convincente protestare contro la #precarietà, insieme a quelli che hanno ideato e realizzato il #JobsAct. Inoltre, in #piazza si guarda il dito e non la luna: se non mettiamo seriamente in discussione le regole dell'#EuroZona, i soldi per rinnovare i contratti non ce li avrà mai nessuno. #radio#rai1