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

Резултати

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

Пребарај: #beatplasticpollution

当前筛选 #beatplasticpollution清除筛选
NEA Singapore

@NEASingapore · Post #559 · 05.06.2023 г., 03:20

This World Environment Day, let’s do our part to #BeatPlasticPollution together. Simply bring along reusable bags and containers wherever you go to reduce your reliance on disposables. Let’s #ChooseReusables and work #TowardsZeroWaste together! Check out some tips here: https://www.youtube.com/playlist?list=PLPX9rYUbMZF2Ofk62WvXxsv0vXR6Sh6CU

НовоявчеваUZ

@Zakonzdes · Post #1713 · 02.06.2023 г., 10:49

🌳🏃🏻♂️ Плоггинг — уникальное событие, объединяющее бег и заботу об окружающей среде! Присоединяйтесь 4 июня и помогите сохранить чистоту нашего города! Все собранные материалы будут переданы на переработку. 🏃♂️ Участие бесплатное! Собравшие больше всех пластика получит призы: 1️⃣ место — 3 000 000 сумов 2️⃣ место — 2 000 000 сумов 3️⃣ место — 1 000 000 сумов. 💚 Как принять участие? • Зарегистрируйтесь • Пробегите или пройдите любое расстояние до пункта приема, собирая мусор вдоль пути. • После сдачи собранного мусора и публикации ваших достижений в социальных сетях вы получите футболку, шопер и кепку. • Вы можете начать своё движение с пункта приема мусора, и тогда вас обеспечат перчатками и мусорными пакетами. 📸 Делитесь фотографиями в соцсетях с хештегами #beatplasticpollution#бойзагрязнениюпластиком, отмечайте организатора @ecogov.uz и партнёров @cocacola_uzbekistan, @prorun.uz 📍 Место и ⏰ приема: Центральный экопарк Ташкента имени Бабура с 7:00 до 20:00.

Eco-schools Uzbekistan

@ecoschools_uzbekistan · Post #1471 · 05.06.2025 г., 06:40

♻️5 июня — Всемирный день окружающей среды Каждый год в мире производится более 400 миллионов тонн пластика, при этом половина из него предназначена для одноразового использования. К сожалению, перерабатывается менее 10%. Ежегодно около 11 миллионов тонн пластика попадает в водоёмы — это эквивалентно весу 2 200 Эйфелевых башен. 🧬 Микропластик — частицы размером менее 5 мм — проникает в пищу, воду и воздух. По оценкам, каждый человек ежегодно непроизвольно потребляет более 50 000 таких частиц, и ещё больше — при вдыхании. 🗻 Пластиковое загрязнение угрожает не только здоровью человека, но и всей экосистеме планеты — от горных вершин до морского дна. 🌍 В этом году Всемирный день окружающей среды проходит под девизом #BeatPlasticPollution. Цель — напомнить о нашей общей ответственности в борьбе с пластиковым кризисом, внедрить предлагаемые решения и двигаться к устойчивому будущему. ⏳ Времени почти не осталось. Если не начать действовать сегодня, завтра может быть уже поздно. Изменение климата и экологический кризис требуют срочных мер. 📣 Откажитесь, уменьшите, используйте повторно, переработайте и переосмыслите. Каждый маленький шаг имеет значение и приближает нас к большим переменам. #WorldEnvironmentDay#GenerationRestoration

Eco-schools Uzbekistan

@ecoschools_uzbekistan · Post #1463 · 05.06.2025 г., 06:40

♻️5-iyun – Butunjahon atrof-muhit kuni Hozirda dunyo bo‘yicha har yili 400 million tonnadan ortiq plastik ishlab chiqariladi. Shuning yarmi faqat bir marta foydalanish uchun mo‘ljallangan. Afsuski, ulardan atigi 10 foizigina qayta ishlanadi. Har yili 11 million tonna plastik suv havzalariga tushadi — bu 2 200 ta Eyfel minorasining og‘irligiga teng. 🧬 Mikroplastikalar — 5 mm dan kichik zarrachalar — ovqat, suv va havoga aralashib, har bir inson tanasiga yiliga o‘rtacha 50 000 dona plastik zarracha kirishiga sabab bo‘lmoqda. 🗻 Plastik ifloslanishi nafaqat inson salomatligi, balki butun sayyoramizdagi ekotizimlarga tahdid solmoqda — tog‘lar cho‘qqisidan to okean tubigacha. 🌍 Bu yilgi Atrof-muhit kuni #BeatPlasticPollution shiori ostida o‘tkazilmoqda. Maqsad — plastikka qarshi kurashda har birimizning mas’uliyatimiz borligini eslatish, taklif etilgan yechimlarni keng joriy etish va barqaror kelajak sari harakat qilish. ⏳ Vaqt juda kam. Iqlim o‘zgarishi va atrof-muhit inqiroziga qarshi kurashni bugunoq boshlamasak, ertaga kech bo‘lishi mumkin. 📣 Siz ham rad eting, kamaytiring, qayta foydalaning, qayta ishlang va qayta o‘ylang. Har bir kichik qadam katta o‘zgarishlarga olib keladi. #WorldEnvironmentDay#GenerationRestoration