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

Резултати

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

Пребарај: #xokkey

当前筛选 #xokkey清除筛选
OlympicUz

@OlympicUz · Post #44054 · 19.04.2026 г., 15:30

Xokkeychilarimiz jahon chempionatida yana bir divizion yuqorilashdi Gonkongda xokkey boʻyicha kattalar oʻrtasidagi jahon chempionatining III divizion “B” guruhidan oʻrin olgan bellashuvlar boʻlib oʻtdi. Quvonarlisi, unda ishtirok etgan Oʻzbekiston terma jamoasi barcha raqiblarini magʻlub etib, guruhda birinchi oʻrinni egalladi. Hamyurtlarimiz qayd etgan natijalar: 🇺🇿 Oʻzbekiston — Moʻgʻuliston 🇲🇳 26:1 🇺🇿 Oʻzbekiston — Filippin 🇵🇭 28:3 🇺🇿 Oʻzbekiston — KXDR 🇰🇵 20:3 🇺🇿 Oʻzbekiston — Lyuksemburg 🇱🇺 14:0 🇺🇿 Oʻzbekiston — Gonkong 🇭🇰 9:4 Ushbu muvaffaqiyatdan keyin jamoamiz kelasi yil III divizionning “A” guruhida ishtirok etish huquqiga ega boʻldi. — Наши хоккеисты поднялись ещё на один дивизион на чемпионате мира В Гонконге состоялись матчи чемпионата мира по хоккею группы «B» III дивизиона. Примечательно, что сборная Узбекистана, принимавшая участие в соревнованиях, одержала победы над всеми соперниками и заняла первое место в группе. Результаты нашей команды: 🇺🇿 Узбекистан — Монголия 🇲🇳 26:1 🇺🇿 Oʻzbekiston — Филиппины 🇵🇭 28:3 🇺🇿 Узбекистан — КНДР 🇰🇵 20:3 🇺🇿 Узбекистан — Люксембург 🇱🇺 14:0 🇺🇿 Узбекистан — Гонконг 🇭🇰 9:4 Благодаря этому успеху наша сборная получила право в следующем году выступать в группе «A» III дивизиона. #Xokkey#JahonChempionati 👉@OlympicUz olympic.uz I YouTube I Instagram I

OlympicUz

@OlympicUz · Post #43256 · 08.03.2026 г., 09:10

🏒Yosh xokkeychilarimiz jahon chempionatida III divizion gʻolibiga aylanishdi Xokkey boʻyicha Oʻzbekiston U18 terma jamoasi Gonkongda tashkil etilgan jahon chempionati III divizion “A” guruhi gʻolibi boʻldi. Musobaqada magʻlubiyatsiz ishtirok etgan yigitlarimiz soʻnggi turda Isroil ustidan 6:3 hisobida gʻalaba qozonishdi. Ushbu muvaffaqiyat jamoamizga kelasi yil II divizionning “B” guruhida ishtirok etish imkoniyatini taqdim etadi. — 🏒Наши юные хоккеисты стали победителями III дивизиона ЧМ Сборная Узбекистана по хоккею U18 стала победителем группы «A» III дивизиона чемпионата мира, который проходил в Гонконге. Наши хоккеисты провели мировое первенство без поражений и в заключительном туре одержали победу над сборной Израиля со счётом 6:3. Этот успех позволит нашей команде в следующем году выступить в группе «B» II дивизиона чемпионата мира. #Xokkey#U18 👉@OlympicUz olympic.uz I YouTube I Instagram I

Hashtags

OlympicUz

@OlympicUz · Post #43244 · 06.03.2026 г., 11:35

🏒Xokkeychilarimiz bu gal Bolgariyani magʻlub etishdi Xokkey boʻyicha Oʻzbekiston yoshlar terma jamoasi (U18) jahon chempionatida navbatdagi gʻalabani rasmiylashtirdi. III divizionning “A” guruhida qatnashayotgan yigitlarimiz bu gal bolgariyalik raqiblarini 5:3 hisobida dogʻda qoldirishdi. Ushbu muvaffaqiyatdan keyin jamoamiz 11 ochko bilan birinchi oʻrinni mustahkam egallab turibdi. — 🏒На этот раз наши хоккеисты победили Болгарию Сборная Узбекистана по хоккею (U18) одержала очередную победу на чемпионате мира. В матче группы «A» III дивизиона наши хоккеисты уверенно обыграли сборную Болгарии со счётом 5:3. Благодаря этой победе команда Узбекистана с 11 очками продолжает уверенно занимать первое место в таблице. #Xokkey#U18 👉@OlympicUz olympic.uz I YouTube I Instagram I

Hashtags

OlympicUz

@OlympicUz · Post #43239 · 05.03.2026 г., 14:40

🏒Yosh xokkeychilarimiz jahon chempionatida uchinchi gʻalabaga erishishdi Gonkongda davom etayotgan xokkey boʻyicha U18 jahon chempionatining III divizion “A” guruhi bellashuvlarida Oʻzbekiston yoshlar terma jamoasi navbatdagi gʻalabani qoʻlga kiritdi. Jamoamiz bugun musobaqadagi asosiy raqiblardan biri Turkiya bilan kuch sinashdi. Qoʻshimcha boʻlimgacha davom etgan oʻyinda hamyurtlarimiz 7:6 hisobida zafar quchib, peshqadamlikni yanada mustahkamlashdi. — 🏒Юные хоккеисты Узбекистана одержали третью победу на чемпионате мира Юношеская сборная Узбекистана по хоккею (U18) одержала очередную победу на проходящем в Гонконге чемпионате мира в III дивизионе группы «A». Сегодня наша команда встретилась с одним из главных соперников на ЧМ — сборной Турции. Матч продлился до дополнительного времени. В итоге узбекские хоккеисты вырвали победу со счётом 7:6, ещё больше укрепив своё лидерство. #Xokkey#U18 👉@OlympicUz olympic.uz I YouTube I Instagram I

Hashtags

OlympicUz

@OlympicUz · Post #43224 · 03.03.2026 г., 12:05

Yosh xokkeychilarimiz jahon chempionatini yirik hisobdagi gʻalabalar bilan boshlashdi Gonkongda xokkey boʻyicha U18 yosh toifasidagi jahon chempionati III divizion “A” guruhidan oʻrin olgan bellashuvlar oʻtkazilmoqda. Unda qatnashayotgan Oʻzbekiston yoshlar terma jamoasi 2 ta yirik gʻalabaga erishdi. Dastlab mezbonlarni 6:2 hisobida magʻlub etgan yigitlarimiz 2-turda Yangi Zelandiyani 13:2 hisobida dogʻda qoldirishdi. Hozirda hamyurtlarimiz 6 ochko bilan peshqadamlik qilishmoqda. — Юные хоккеисты Узбекистана успешно стартовали на чемпионате мира В Гонконге проходит чемпионат мира U18 по хоккею (III дивизион, группа «А»). В соревнованиях принимает участие сборная Узбекистана, которая уже одержала 2 крупные победы. В стартовом матче наши хоккеисты обыграли хозяев со счётом 6:2. Во втором туре команда разгромила сборную Новой Зеландии — 13:2. После двух встреч сборная Узбекистана набрала 6 очков и занимает первое место в группе. #Xokkey#U18 👉@OlympicUz olympic.uz I YouTube I Instagram I

Hashtags