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

Пребарај: #oymaktabi

当前筛选 #oymaktabi清除筛选
Eco-schools Uzbekistan

@ecoschools_uzbekistan · Post #753 · 13.06.2023 г., 13:09

👋☺️ Barchaga xayrli kech! Buxorodagi 25-son o‘rta ta’lim maktabi bizni "Oy maktabi" ruknini tashkil etishga ilhomlantirdi! Ushbu maktab "Eco-schools"ga 2021 yil mart oyida qo‘shildi. O‘sha yilning kuzida "Eco-schools Uzbekistan"ning boshqa a’zolari bilan bir qatorda "Yosh fermer" loyihasi doirasida issiqxona va turli bog‘dorchilik anjomlariga ega bo‘ldi. Endi, ikki yil o‘tgach, bu go‘zal maktabni bir ko‘ring! Issiqxonada bolalar limon ham, ko‘kat ham, bodring ham yetishtirdi... va bu bilan to‘xtamoqchi emas. Bolalar eko-qo‘mita tuzib, "To‘g‘ri ovqatlanish" hamda "Chiqindi va axlat" loyihalarini o‘z faoliyatining ikki yo‘nalishi sifatida tanlab oldilar, nafaqat maktabga tutash hududni, balki olcha, shaftoli, o‘rik, behi, olma va uzum yetishtirilayotgan katta bog‘ni parvarish qilmoqda. Maktabda terak, gujum, pavlovniya, yapon soforasi, tilog‘ochlar o‘smoqda. Daraxtlar loyiha ishtirokchilarining orzulari kabi osmonga bo‘y cho‘zmoqda. Bolalarning yaqinda boshlangan mashg‘uloti - pista kurtaklarini yetishtirish. Ilhom uchun, barchaning yanada sog‘lom va barqaror kelajagini barpo etish yo‘lidagi sa’y-harakatlaringiz uchun rahmat sizga, o‘qituvchilar va bolalar. ❤️ Sizlar – Oy maktabisiz! 💚 #YoshFermer #OyMaktabi Zamin| Facebook|Instagram

Eco-schools Uzbekistan

@ecoschools_uzbekistan · Post #1403 · 29.04.2025 г., 09:38

👋😊 Barchaga salom! 🏕 "Eco-schools Uzbekistan" loyihasining "Oy ekomaktabi" unvoniga Qarshi shahridagi 9-maktab sazovor bo‘ldi. Va bunga bir necha sabablar mavjud. Birinchidan, bolalar nazarida maktab go‘zal yam-yashil shahar bog‘ini yodga soladi. Bu qadar ko‘p parvarishlangan daraxtlar va gullar bilan hamma ham maqtana olmaydi. 🍉 Ikkinchidan, bizning "Yosh fermer" loyihamiz doirasida bolalarga berilgan issiqxonadan tashqari, ularda ikkinchi issiqxona ham bo‘lib, har ikkisida ham tajriba o‘tkazish, har safar yangi ekinlarni ekish va ularning o‘sishini kuzatishga bolalarning kuchlari va istaklari yetarli. 🌳 Va eng yoqimli tomoni shundaki, bolalar (O‘zbekistonning barcha ekomaktablari orasida birinchi bo‘lib) barcha o‘sayotgan daraxtlar va o‘simliklar to‘g‘risidagi ma’lumotlarni yagona ma’lumotlar bazasiga tizimlashtirgan holda daraxtlar reyestrini o‘tkazdilar. Maktab hududida bolalarning 46 turdagi daraxt va butalari bo‘y rostlagan bo‘lib, ulardan qarag‘ay eng keng tarqalgan, uning soni 1092 taga yetadi, bolalar ekkan turli xil atirgul butalari soni esa 427 tani tashkil etadi. 👍 Shahar sharoitida daraxtlar reyestri daraxtlarni asrash, parvarish qilish va noqonuniy kesilishining oldini olishga yordam beradi — bolalar juda foydali ko‘nikmaga ega bo‘lishdi! Barakalla! 🏆 Ha, aytgancha, bolalar: siz "Yashil bayroq"qa ariza topshirdingizmi? #OyMaktabi#DaraxtlarReyestri ~~~ 👋😊 Всем привет! 🏕 Звание «Экошкола месяца» проекта Eco-schools Uzbekistan заслужила школа №9 города Карши. И причин здесь несколько. Во-первых, у ребят школа напоминает красивый зелёных городской парк. Таким количеством ухоженных деревьев и цветов мало кто может похвастаться. 🍉 Во-вторых, кроме теплицы, которую ребята получили в рамках нашего проекта «Юный фермер», у ребят есть вторая, и на обе у ребят хватает и сил, и желания экспериментировать, высаживая каждый раз новые культуры и наблюдать за их ростом. 🌳 И самое приятное было то, что ребята (первыми среди всех экошкол Узбекистана) провели реестр деревьев, систематизировав в единую базу данных информацию обо всех растущих деревьях и растениях. На территории школы у ребят 46 видов деревьев и кустарников, где самым распространённым оказалась сосна — 1092, а разных сортов розовых кустов у ребят — 427. 👍 В условиях города реестр деревьев способствует сохранению, уходу и предотвращению незаконной вырубки деревьев — ребята получили очень полезный навык! Молодцы! 🏆 И кстати, ребята: вы подаёте заявку на «Зелёный флаг»? #ШколаМесяца#РеестрДеревьев 😀Zamin🌐Instagram🌐Facebook