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

Резултати

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

Пребарај: #result

当前筛选 #result清除筛选
Phd_Shopulatov

@phd_shopulatov · Post #4318 · 07.06.2022 г., 17:02

#result Ko'pgina õquvchilar aniq bir sohani tanlay olisha olmaydi. Tanlashganda ham juda kõp ikkilanishlar bõladi. Ular bilan õzlari xohlagan yõnalishni tanlab, shu yõnalish bo'yicha aniq maqsad sari harakat qilish esa mashaqqatli ish hisoblanadi. Õquvchilarning universitetlarga ketma-ket kirayotganligi haqidagi xabarlar kelganida esa ushbu mashaqqatlar esdan chiqib, yuzda ajib tabassum hosil bõladi. Ilm olishda va ilm ulashishda Allohning õzi bardavom qilsin 🤲 Yana ham kõproq natijalarni bilish uchun bizni instagram tarmog'ida kuzatib boring.

Hashtags

StartupBase

@startupbaseuz · Post #5037 · 18.11.2024 г., 10:56

#competition#result 👍17-noyabr kuni Oʻzbekiston stol tennisi federatsiyasi bilan hamkorlikda tashkil etilgan “IT Park Table Tennis Cup-2024” turniri oʻz yakuniga yetdi! 🏓 Turnirda 42 ta jamoa ishtirok etdi va kuchli bellashuvlar oʻtkazildi. 🥇 “PAYNET” 🥈 “BRB TECH” 🥉 “UZINFOCOM”, “YUSOLVE” 🏆 Gʻoliblarni samimiy tabriklaymiz! Musobaqada qatnashgan barcha jamoalarga minnatdorchilik bildiramiz. Bu turnir nafaqat sport, balki doʻstlik va hamjihatlikning haqiqiy bayrami boʻldi! _______ 👍The IT Park Table Tennis Cup 2024, organized in collaboration with the Table Tennis Federation of Uzbekistan, successfully concluded on November 17! A total of 42 teams participated, demonstrating exceptional skill and commitment to victory. 🥇 “PAYNET” 🥈 “BRB TECH” 🥉 “UZINFOCOM”, “YUSOLVE” 🏆 Congratulations to the winners! We extend our gratitude to all teams for their involvement and outstanding performances. This tournament was a true celebration of sportsmanship, friendship, and unity. Telegram | Instagram | Facebook | Youtube | LinkedIn

JIFAR CAREER

@JIFAR1 · Post #193 · 21.07.2025 г., 14:54

#Remedial#Result ➡️የ2017 የሪሜዲያል ተማሪዎች ውጤት ተለቋል። ተማሪዎች ውጤታችሁን በዚህ ገብታችሁ ማየት ትችላለችሁ። https://result.ethernet.edu.et መልካም ውጤት

BotsGram®

@botsgram_cu · Post #3299 · 16.12.2020 г., 23:58

@pic Qué puede hacer este bot? Este bot puede ayudarle a encontrar y compartir imágenes. Funciona automáticamente, sin necesidad de agregarlo en cualquier lugar. Simplemente abra cualquiera de sus chats y escriba @pic something en el campo de mensaje. A continuación, pulse sobre un resultado para enviar. Idioma: Inglés (visto en @BotsGram_cu) #share, #result, #example, #funny, #message, #pic, #images