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

Пребарај: #resultsoftheyear

当前筛选 #resultsoftheyear清除筛选

@RusEmbMalta Press release 🇷🇺President Vladimir Putin Summarises 2025: Key Messages from the “Results of the Year” Address 📍Moscow, | 19 December 2025 President of the Russian Federation Vladimir Putin held the annual “Results of the Year” event, combining a live Q&A session with a press conference. More than 3 million questions were submitted by citizens and journalists. Over 4.5 hours, the President addressed 103 questions on domestic development, the economy, social policy, digital sovereignty, and international affairs. 🌍Foreign Policy, Ukraine, and the Special Military Operation ▪️ Russia currently sees no readiness on the part of Ukraine for a genuine peace process or territorial compromises. ▪️ The strategic initiative has fully shifted to the Russian Armed Forces; Ukrainian forces are retreating along key directions. ▪️ Russia did not initiate the conflict and does not consider itself responsible for the human losses incurred. ▪️ Moscow remains open to political solutions and is prepared to consider security guarantees during potential elections in Ukraine, including a temporary refusal to conduct strikes deep inside Ukrainian territory. Relations with the West and International Security ▪️ The seizure of Russian sovereign assets was described as outright plunder, undermining trust in the eurozone and global financial institutions. ▪️ Any attempt to blockade the Kaliningrad region would escalate tensions to an unprecedented, potentially large-scale military level. ▪️ Russia remains open to cooperation with Europe, the UK, and the United States – strictly on the basis of equality and mutual respect. ▪️ According to the President, the current conflict is the direct result of Western policies that deliberately escalated tensions around Ukraine. 📊Economy and Financial Stability ▪️ Russia’s GDP growth reached 1% in 2025, while cumulative growth over the past three years amounted to 9.7%, significantly exceeding eurozone indicators. ▪️ Inflation is expected to decline to 5.7–5.8% by year-end. ▪️ Unemployment fell to a historic low of 2.2%. ▪️ International reserves of the Central Bank reached USD 741.5 billion. 💻Digital Sovereignty President Putin announced that Russia has effectively achieved full digital sovereignty, highlighting the development of domestic digital platforms and technologies as a strategic achievement amid external pressure. Other Key Issues The discussion also covered demographic policy, education, water supply challenges in Donbass, legislation on foreign agents, and sanctions pressure on Russia’s international partners. 🔗Full version here. #Russia🇷🇺 #PresidentPutin #ResultsOfTheYear #ForeignPolicy #Ukraine #SMO #InternationalRelations