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

Пребарај: #euthieves

当前筛选 #euthieves清除筛选

🎙Russia's Foreign Minister Sergey Lavrov’s interview with RIA Novosti(November 9, 2025) Read in full (Telegraph) #RussiaUS#NewSTART ❓ Question: President of Russia Vladimir Putin announced that the Russian Federation is prepared to continue adhering to the restrictions established by New START for one additional year, starting February 5, 2026. Has there been any response from the United States? Did Moscow propose a meeting with Washington to discuss the post-New START period? If so, at what level? 💬Sergey Lavrov: The constructive initiative put forward by President Vladimir Putin in the post-New START context speaks for itself. It contains no hidden agenda and is perfectly clear for understanding. Its practical implementation would not require any special additional efforts. <...> The only thing required is reciprocity from the United States: we will voluntarily adhere to the restrictions only if, and precisely for as long as, the other side does the same. <...> So far, there has been no substantive response from Washington. We have been informed through diplomatic channels that “the issue is under consideration.” We have no intention of keeping persuading anyone. We believe that our step serves the interests of both parties and the entire international community. 👉 We are ready for any development of events, while hoping for a positive outcome. #Ukraine#RussiaUS ❓ Question: What is currently the main stumbling block in the negotiations with the United States on a settlement around Ukraine? Where is Russia ready to make concessions and where is it not? 💬Sergey Lavrov: <...> We are currently awaiting confirmation from the United States that the Anchorage agreements remain in effect. I would emphasise that, despite their essentially compromise nature, we have not abandoned – and do not intend to abandon – the points that are fundamental for us. ❗️ No one disputes the territorial integrity of the Russian Federation or the choice made by the residents of Crimea, Donbass, and Novorossiya, who made their historic decision to reunite with their homeland through the referendums in 2014 and 2022. We likewise do not forget the need to eliminate the root causes of the conflict. #EUthieves ❓ Question: What will be Russia’s response if the frozen assets of the Russian Federation are directed to support Kiev? 💬Sergey Lavrov: <...> Such actions amount to outright deception and theft. It seems that the long-dormant instincts of colonialists and pirates have reawakened among Europeans. No matter how the scheme for seizing Russian funds is presented, there is no lawful way to carry it out. The confiscation of our gold and foreign currency reserves will not save the Europe’s protégés in Kiev <...> Russia will respond to any predatory actions appropriately, in accordance with the principle of reciprocity, our national interests, and the need to compensate for the damage caused to us. We hope that Brussels and other Western capitals will still come to their senses and abandon this ill-advised venture. #RussiaUS ❓ Question: When and where could a meeting between the Russian and American delegations on mutual “irritants” take place? What about your meeting with US Secretary of State Marco Rubio? When and where might it be held? 💬Sergey Lavrov: There are indeed many irritants in Russia-US relations, most of them inherited from the previous US administration. It will take considerable time to clear up this mess. <...> From our perspective, it is important that this dialogue should not be limited solely to embassy-related issues. We consider it essential to address broader questions, including the restoration of direct flights and the return of Russian diplomatic property. <...> Secretary of State Marco Rubio and I share an understanding that maintaining regular communication is essential, both for discussing the Ukrainian issue and for advancing the broader bilateral agenda. We remain in contact by phone and are prepared to hold in-person meetings.