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

Резултати

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

Пребарај: #rplproba2023

当前筛选 #rplproba2023清除筛选
Statistica Moldovei

@statisticamd · Post #408 · 22.11.2023 г., 09:38

Ieri, 21 noiembrie, Guvernul Republicii Moldova a găzduit ședința ordinară a Comisiei naționale pentru Recensământul populației și locuințelor (RPL) din anul 2024. În cadrul acestei ședințe, Oleg Cara, directorul general al BNS, a prezentat ✅ raportul privind realizarea Recensământului de probă al populației și locuințelor care a avut loc în perioada 28 august-10 octombrie 2023 și ✅ajustările propuse la subiectele și variabilele recensământului din 2024, pe baza rezultatelor Recensământului de probă. Un alt subiect abordat se referă la ✅ proiectul hotărârii Guvernului cu privire la data de referință a Recensământului populației și locuințelor în anul 2024 și a perioadei de colectare a datelor. 🔵 Detalii aici: https://statistica.gov.md/ro/activitatile-de-pregatire-catre-recensamantul-populatiei-si-locuintelor-din-anul-12_60807.html#RPL2024, #rplPROBA2023, #RecensamantulPopulatieiSiLocuintelor2024

Statistica Moldovei

@statisticamd · Post #335 · 11.08.2023 г., 08:07

✅În cadrul vizitelor de lucru în localitățile selectate pentru desfășurarea Recensământul de probă al populației și locuințelor, directorul general al BNS, Oleg Cara, s-a întâlnit cu membrii familiei lui Serghei si Vasilisa Surugiu din satul Crihana Veche, Cahul, pentru a le vorbi despre rolul și importanța acestui exercițiu în dezvoltarea comunităților locale și a le oferi explicații la unele aspecte care creează preocupări și temeri legate de desfășurarea recensământului. 👉Menționăm că în perioada 28 august – 10 octombrie 2023, în 11 localități din țară se va desfășura Recensământul de probă al populației și locuințelor pentru a testa aspectele de organizare a recensământului de bază care va avea loc anul viitor. #RPL2024, #rplPROBA2023, #RecensamantulPopulatieiSiLocuintelor2024

Statistica Moldovei

@statisticamd · Post #346 · 28.08.2023 г., 09:04

‼𝐀𝐬𝐭𝐚̆𝐳𝐢, 𝐥𝐮𝐧𝐢, 𝟐𝟖 𝐚𝐮𝐠𝐮𝐬𝐭 𝟐𝟎𝟐𝟑, 𝐢̂𝐧𝐜𝐞𝐩𝐞 𝐑𝐞𝐜𝐞𝐧𝐬𝐚̆𝐦𝗮̂𝐧𝐭𝐮𝐥 𝐝𝐞 𝐩𝐫𝐨𝐛𝐚̆ 𝐚𝐥 𝐏𝐨𝐩𝐮𝐥𝐚𝐭̦𝐢𝐞𝐢 𝘀̦𝐢 𝐋𝐨𝐜𝐮𝐢𝐧𝐭̦𝐞𝐥𝐨𝐫! ✅Recensământul de probă se va desfășura până la data de 𝟏𝟎 𝐨𝐜𝐭𝐨𝐦𝐛𝐫𝐢𝐞 𝟐𝟎𝟐𝟑 în sectoare alese din municipiile 𝐂𝐡𝐢𝘀̦𝐢𝐧𝐚̆𝐮 (inclusiv s. Colonița), 𝐁𝐚̆𝐥𝐭̦𝐢, 𝐒𝐨𝐫𝐨𝐜𝐚 și 𝐂𝐨𝐦𝐫𝐚𝐭, orașul 𝐓𝐚𝐫𝐚𝐜𝐥𝐢𝐚 și din satele 𝐆𝐥𝐢𝐧𝐣𝐞𝐧𝐢 din raionul Fălești, 𝐕𝐚𝐫𝐧𝐢𝐭̦𝐚 din raionul Anenii Noi, 𝐁𝐮𝐭𝐮𝐜𝐞𝐧𝐢 din raionul Orhei, 𝐂𝐫𝐢𝐡𝐚𝐧𝐚 𝐕𝐞𝐜𝐡𝐞 din raionul Cahul și 𝐂𝐨𝐩𝐚𝐧𝐜𝐚 din raionul Căușeni. 👉În această perioadă recenzorul de sector va colecta date despre persoane și gospodărie și în acest context încurajăm locuitorii selectati pentru recenzare să primească cu încredere recenzorii în casele lor și să raspundă corect și complet la toate întrebările din chestionar! #European Union in the Republic of Moldova | #UNFPA Moldova #RPL2024, #rplPROBA2023, #RecensamantulPopulatieiSiLocuintelor2024