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

Резултати

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

Пребарај: #londonprotest

当前筛选 #londonprotest清除筛选
Hong Kong Democracy Movement

@hkdmovement · Post #7950 · 16.03.2025 г., 16:28

Around 6,000 people gathered in London on March 15 to protest against China’s plan to build a "super embassy" at Royal Mint Court. The demonstration, organized by Hong Kongers in the UK along with local residents, highlighted deep opposition to this project. Flags supporting movements like "Liberate Hong Kong" and Tibetan independence were seen throughout the crowd. A foreign individual, draped in a Chinese flag and holding provocative slogans, attempted to disrupt the event but was peacefully removed by the police. Protesters emphasized the importance of continuing to focus on political prisoners, including those involved in the "47 activists case." #LondonProtest#SuperEmbassy#HongKong#NoToSuperEmbassy 3月15日,約6000人在倫敦舊皇家鑄幣廠(Royal Mint Court)集會,抗議中國興建「超級大使館」的計劃。這次示威由在英港人組織聯同當地人發起,表達對該項目強烈不滿。現場可見「光復香港」、支持藏人等旗幟,氣氛熱烈。 一名外籍男子披着中國國旗,拿着挑釁性標語試圖干擾集會,最終被警方帶離現場。示威者呼籲社會關注政治犯,包括「47人案」中的在囚人士,繼續支持民主與自由。 #倫敦示威#光復香港#中國大使館重置

Hong Kong Democracy Movement

@hkdmovement · Post #7970 · 20.04.2025 г., 23:11

🚨5月3日倫敦鑄幣廠大遊行 🚨May 3rd Anti-Mega Chinese embassy March Date: 03-05-2025 / 2-5pm Location: Royal Mint Court Format: 遊行& 集會 March & Assembly 齊心協力,見證歷史! 誠邀你再臨倫敦,一同齊集鑄幣廠,以遊行形式抗議反對興建中共超級大使館! 早前傳媒估計政府可能五月作出決定,所以我哋而家更要把握機會向警方施壓,表明現時對附近的風險評估絕不成立,必須重申對倫敦鑄幣廠超級大使館嘅立場。 #NoMegaEmbassy#LondonProtest#NoSuperEmbassy#超級大使館#UK#倫敦#London#英國#鑄幣廠#中國超級大使館#舊皇家鑄幣廠#royalmintcourt