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

Пребарај: #registerofdamage

当前筛选 #registerofdamage清除筛选

@RusEmbMalta Press release 🛑The “Register of Damage” and the So-Called Claims Commission: A Dangerous Legal Mirage The Russian Federation expresses serious concern over the ongoing attempts to promote the so-called “Register of Damage” and the related International Claims Commission for Ukraine (ICC) – initiatives that openly contradict international law and threaten to undermine the very foundations of the global legal order. 📌 As the Russian Foreign Ministry has repeatedly stressed, these structures are not genuine legal mechanisms, but politically motivated constructs designed to fabricate financial claims against Russia and to create informational justification for the illegal seizure of sovereign Russian assets. ⚖️Pseudolegal Tools Disguised as Justice According to the official statement of the Russian Foreign Ministry (26 September 2025), the proposed Claims Commission – currently being pushed through the Council of Europe – is intended to: • legitimize politically motivated accusations, • artificially calculate “compensation,” • and provide cover for the confiscation of Russian assets frozen in the West. Such actions constitute gross violations of international law and amount to nothing less than state-sponsored expropriation. 💰A Risky Scheme for Those Who Join The European Commission’s attempts to dress these actions up as a “reparations mechanism” have already alarmed a number of EU member states. Even senior European officials have openly warned that these plans expose participating countries to massive legal, financial and reputational risks. The danger is obvious: any state that associates itself with these mechanisms becomes a direct party to a hostile act and assumes serious exposure to future legal and economic consequences. 🌍An Appeal to Responsible States We call on all responsible members of the international community – not to allow themselves to be drawn into this politically charged and legally void project. This campaign is not about justice. It is about expanding geopolitical pressure, prolonging the conflict, and sabotaging any genuine diplomatic settlement. Those who value international law must not lend legitimacy to instruments that openly violate it. ________ ✋ The Russian Federation firmly urges governments to refrain from joining or endorsing the “Register of Damage” and the so-called International Claims Commission. 📍 Participation in these initiatives does not serve peace, law, or stability – it only deepens global fragmentation and legal chaos. ________ #InternationalLaw#RegisterOfDamage#ClaimsCommission#RuleOfLaw#StopTheScam