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

Пребарај: #spacetalents

当前筛选 #spacetalents清除筛选
🚀 Unisat.uz

@unisat_uz · Post #918 · 26.11.2022 г., 05:39

Лекция от Евгения Скляревского на церемонии открытия программы UniSat 2.0 Тема: «Без математики лучистой жизнь скучна и неказиста» О спикере: Евгений Скляревский - блогер, сотрудник пресс-службы хокимията, любитель орнаментов, фракталов и флексагонов, популяризатор науки. 📍Мероприятие пройдёт в Министерстве Инновационного развития, 28 ноября в 14.00 Регистрация по ссылке: https://docs.google.com/forms/d/e/1FAIpQLSdi6BxQnbCP79qX5ApubfwIPI_yeoOfrxlqqjgGiumY4NE7UQ/viewform?usp=sf_link --------- UniSat 2.0 dasturining ochilish marosimida Yevgeniy Sklyarevskiy ma’ruzasi Mavzu: «Nurli matematikasiz hayot zerikarli va ko‘rksiz» Spiker haqida: Yevgeniy Sklyarevskiy - bloger, hokimlik matbuot xizmatining xodimi, naqshlar, fraktallar va fleksagonlar ishqibozi, ilm-fan targ‘ibotchisi. 📍Tadbir Innovatsion rivojlanish vazirligida 28-noyabr kuni soat 14:00 da o‘tkaziladi Ro‘yxatdan ushbu havola bo‘yicha o‘tish mumkin: https://docs.google.com/forms/d/e/1FAIpQLSdi6BxQnbCP79qX5ApubfwIPI_yeoOfrxlqqjgGiumY4NE7UQ/viewform?usp=sf_link #unisat#nanosatellite#GirlsinSTEM#cubesats#spacetalents

🚀 Unisat.uz

@unisat_uz · Post #912 · 24.11.2022 г., 16:29

28 ноября гостем церемонии открытия программы UniSat 2.0.. станет Дмитрий Шноль - академический директор школы "Oxbridge", автор школьных пособий по математике, член жюри российского творческого конкурса учителей математики. ⚙️Тема: Геометрия неба Мы начнем разговор с того, как в Древней Греции люди впервые смогли размышлять о Земле как об астрономическом теле, поняли, что Земля шарообразна, и измерили ее размер. Замечательно, что математические знания современного 8-классника позволяют ему понять, как решили эту задачу гении прошлого. Затем мы обсудим, как математика позволяет выбрать самый экономичный маршрут для современного самолета. А шаг от самолетов к спутникам вы сделаете сами. 📍Мероприятие пройдёт в Министерстве Инновационного развития, 28 ноября, в 14:00. Регистрация по ссылке: https://docs.google.com/forms/d/e/1FAIpQLSdi6BxQnbCP79qX5ApubfwIPI_yeoOfrxlqqjgGiumY4NE7UQ/viewform?usp=sf_link UniSat — это совместная программа ННО Tech4Impact, UNICEF, Министерства инновационного развития Республики Узбекистан. --------------- 28-noyabr kuni Dmitriy Shnol - "Oxbridge" maktabining akademik direktori, matematika bo‘yicha maktab qo‘llanmalarining muallifi, Rossiya matematika o‘qituvchilari ijodiy tanlovining hakamlar hay’ati a’zosi – UniSat 2.0 dasturining ochilish marosimida mehmonga aylanadi. ⚙️Mavzu: Osmon geometriyasi Biz suhbatni qanday qilib Qadimiy Yunonistonda odamlar ilk bor Yer haqida astronomik jism sifatida fikr yurita boshlaganidan, Yer sharsimon shaklda ekanini tushunishganidan va qanday qilib uning o‘lchamini aniqlashganidan boshlaymiz. Hozirgi 8-sinf o‘quvchisining matematika bo‘yicha bilimlari unga o‘tmish daholarining bu masalasini qanday yechishni tushunish imkonini berishi ajoyib. Keyin biz matematika qanday qilib zamonaviy samolyot uchun eng tejamkor yo‘nalishni tanlash imkonini berishini muhokama qilamiz. Samolyotlardan sun’iy yo‘ldoshlarga qadamni esa o‘zingiz tashlaysiz. 📍Tadbir Innovatsion rivojlanish vazirligida 28-noyabr kuni soat 14:00 da o‘tkaziladi. Ro‘yxatdan o‘tish ushbu havola bo‘yicha: https://docs.google.com/forms/d/e/1FAIpQLSdi6BxQnbCP79qX5ApubfwIPI_yeoOfrxlqqjgGiumY4NE7UQ/viewform?usp=sf_link UniSat — bu Tech4Impact NNT, UNICEF, O‘zbekiston Respublikasi Innovatsion rivojlanish vazirligining hamkorlikdagi dasturi. #unisat#nanosatellite#GirlsinSTEM#cubesats#spacetalents

🚀 Unisat.uz

@unisat_uz · Post #902 · 11.11.2022 г., 11:14

❓Какими словами можно описать программу UniSat? Какие важные знания можно получить, участвуя в программе? 🗣 Ответить на этот вопрос мы попросили участниц прошлого запуска CubeSat. "Космос, мечта, крутые девчонки, исполнение мечты, командная работа, навыки программирования и многое другое". ✅ Участвуй в программе и найди свой ответ на эти вопросы. Регистрация на сайте https://unisat.uz/ ——————— ❓UniSat dasturini qanday so‘zlar bilan ta’riflash mumkin? Dasturda qatnashgan holda qanday muhim bilimlarga ega bo‘lish mumkin? 🗣 Biz avvalgi CubeSat’ni uchirishda qatnashgan ishtirokchilardan shu savollarga javob berishlarini iltimos qildik. "Fazo, orzu, ajoyib qizlar, orzularning ro‘yobga chiqishi, jamoaviy ish, dasturlash ko‘nikmalari va boshqalar". ✅ Dasturda qatnashing va bu savollarga o‘z javobingizni toping. Ro‘yxatdan o‘tish https://unisat.uz/ saytida #unisat#nanosatellite#GirlsinSTEM#cubesats#spacetalents