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

Пребарај: #mandelamonth

当前筛选 #mandelamonth清除筛选
Russian Consulate in Cape Town

@rusconct · Post #2870 · 06.08.2025 г., 17:02

🎙 Comment by Russian Ambassador to South Africa Roman Ambarov to TASS (August 5, 2025) ❓Question: What charitable initiatives is the Russian Embassy in South Africa involved in? 💬Roman Ambarov: Russia has always been and remains a reliable friend of the Republic of South Africa—not only in the fields of political, economic, cultural, and educational cooperation, but also in providing humanitarian aid. In its work, the Russian Embassy in South Africa follows a principle supported by the President of the Russian Federation, Vladimir Putin: “African solutions to African problems.” We regularly take part in charitable initiatives organized by South Africa’s Department of International Relations and Cooperation during #MandelaDay and #MandelaMonth. In July of this year, together with other foreign diplomatic missions, we supported a primary school in Gauteng Province that is in dire need of funding by donating chalkboards and food for the students. I would like to emphasize that our charitable work is not limited to one-time actions. It is a year-round, systematic effort carried out by our Embassy staff. Two South African children’s institutions are under the care of the Russian diplomatic mission — the Bophelong Children’s Home in Mamelodi and the New Jerusalem Children’s Home in Midrand. Our diplomats regularly visit the children, show genuine interest in their lives and challenges, and offer help whenever possible. Our aim is not only to provide necessities but also to bring joy and positive emotions. It has already become a tradition to invite children from these institutions to screenings of Russian films, organized by the Embassy in one of Pretoria’s theaters. Last year, together with the parish of the Russian Orthodox Church in Johannesburg, we hosted a screening of the popular animated film Masha and the Bear for the children of New Jerusalem. The joy and excitement on the children’s faces as they clapped and sang along with Masha was the greatest reward for us. These events are usually accompanied by friendly tea parties with Russian pastries, as well as educational presentations about Russia, our culture, traditions, and holidays. As Nelson Mandela once said, “There can be no greater gift than giving one’s time and energy to help others without expecting anything in return.” We fully share this philosophy and try to embody it in our work. #RussiaHelps