@knaufuzbekistan · Post #287 · 07.08.2021 г., 08:05
#KnaufQK21
Hashtags
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
Пребарај: #knaufqk21
@knaufuzbekistan · Post #287 · 07.08.2021 г., 08:05
#KnaufQK21
Hashtags
@knaufuzbekistan · Post #286 · 07.08.2021 г., 08:05
#KnaufQK21
Hashtags
@knaufuzbekistan · Post #320 · 20.08.2021 г., 06:01
#knaufuzbekistan#knaufqk21
Hashtags
@knaufuzbekistan · Post #319 · 20.08.2021 г., 06:01
#knaufuzbekistan#knaufqk21
Hashtags
@knaufuzbekistan · Post #318 · 20.08.2021 г., 06:01
#knaufuzbekistan#knaufqk21
Hashtags
@knaufuzbekistan · Post #317 · 20.08.2021 г., 06:01
#knaufuzbekistan#knaufqk21
Hashtags
@knaufuzbekistan · Post #316 · 20.08.2021 г., 06:01
#knaufuzbekistan#knaufqk21
Hashtags
@knaufuzbekistan · Post #315 · 20.08.2021 г., 06:01
11 ta shahar, 7 kun bayram. KNAUF Oʻzbekistonda Quruvchilar kunini qanday kutib oldi?.🧐 Qiziqarli koʻrik-tanlovlar, onlayn va oflayn tadbirlar. Mahorat darslari, sport tanlovlari, koʻplab mamnun bolalar va kattalar. Asal va ikkita jiddiy kayfiyatdagi yigitlar jangi.😅 Shuningdek, mashhur Savitskiy muzeyi rasmlarining ajoyib, unutilmas KNAUF Art-maydoni.😍 Va yana qanchadan-qancha ajoyib tadbirlar oʻtkazildi! Xoʻsh, qani kim tashrif buyurdi? Siz-chi, bordingizmi?. Siz bilan foto va video hisobotlarimizni boʻlishmoqchimiz. ☺️ Sizning rasmingiz va videolaringizni ham tasmamizda koʻrsak juda xursand boʻlamiz.👌 KNAUFʼni belgilang. Keyingi yil sizni kutib qolamiz.🤗 🗓Kalendarda belgilab qoʻying – avgust oyining har ikkinchi yakshanbasi KNAUF bilan birga Quruvchilar kunimi nishonlaymiz. #knaufuzbekistan#knaufqk21
Hashtags
@knaufuzbekistan · Post #314 · 20.08.2021 г., 06:01
#knaufuzbekistan#knaufqk21
Hashtags
@knaufuzbekistan · Post #313 · 20.08.2021 г., 06:01
#knaufuzbekistan#knaufqk21
Hashtags
@knaufuzbekistan · Post #312 · 20.08.2021 г., 06:01
11 городов, 7 дней праздника. Как КНАУФ в Узбекистане встретил День Строителя?🧐 Прикольные конкурсы, онлайн и офлайн активности, Мастер-классы, спортивные конкурсы, множество довольных детей и взрослых. Битва Асаль и двух серьёзно настроенных молодых людей😅 А так же крутое, не забываемое Арт-пространство КНАУФ картин знаменитого Музея Савицкого. И еще столько всего было! Кто посетил? Признавайтесь. Делимся с вами фото и видео отчётами.☺️ Ну и ваши фото и видео будем рады увидеть в ленте.👌 Отмечайте КНАУФ. Ждём вас в следующем году.🤗 🗓Отмечайте в календарях - каждое второе воскресение августа День Строителя вместе с КНАУФ. #knaufuzbekistan#knaufqk21
Hashtags
@knaufuzbekistan · Post #288 · 07.08.2021 г., 09:01
🗓8-avgust. 🕧18:00 - 22:00. Central Park.😊 👷♂️Bu yerda biz KNAUF QK21 — Quruvchilar kunini nishonlaymiz.🎉 • Savitskiy muzeyining durdonalari jonlanadigan san'at hududiga tashrif buyuring ; • Shaxsiy sharjlar (hazilomuz suratlar) ga ega boʼling (professional sharjchining koʻzi bilan sizning tasviringiz); • Bo'yoq to'plari yordamida mavhum rasm chizing (bu juda qiziqarli jarayon!); • Bolalar mahorat darsida gipsdan qoʻl mehnati buyumlarini yasang (bolalar buni yaxshi ko'radilar); • Basketbol halqasiga uloqtirishlarning aniqligini tekshiring; • Katta hajmli boʻyash kitobini boʻyab, dunyoni yorqinroq qiling; • KNAUF ijodiy foto zonalarida suratga tushing; • Esdalik sovg'asiga ega boʻling. Bayram niqoblarini taqing va biz tomon olgʻa boring!😷 Axir, Quruvchilar kuni yilda bir martaku! Uni toʻgʻri oʻtkazing.👌 - - - - 🗓8 августа. 🕧18:00-22:00. Central Park.😊 👷♂️Здесь мы празднуем KNAUF QK21 — День Строителя.🎉 • Посетите арт-пространство, в котором «оживают» шедевры музея Савицкого (погрузитесь в Искусство); • Получите персональный шарж (забавный взгляд на вас от профессионального шаржиста); • Нарисуйте абстрактную картину при помощи шариков с краской (это очень азартный процесс!); • Смастерите поделку из гипса на детском мастер-классе (дети это обожают); • Проверьте меткость бросков в баскетбольное кольцо; • Сделайте мир ярче, раскрасив объемную раскраску; • Сфотографируйтесь у креативных фотозон КНАУФ; • Получите сувенир на память. Надевайте праздничные маски и гоу к нам!😷 Ведь День Строителя только один раз в году! Проведите его правильно.👌 Сайт | Facebook| Instagram #knaufuzbekistan#KnaufQK21
Hashtags