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

Пребарај: #cambridge

当前筛选 #cambridge清除筛选
культ✨медиа

@cult_media · Post #2597 · 31.08.2024 г., 14:58

#media_opportunity #Cambridge #КультМедиа Журналисты всего мира, имеющие как минимум 10 лет опыта работы и заинтересованные в исследованиях и обмене опытом в области общественной политики и политических вопросов, могут подать заявки на эту стипендию Гарвардский институт государственного управления им. Джона Ф. Кеннеди принимает заявки на получение стипендий центра Джоан Шоренштейн в Кембридже, штат Массачусетс Принимаются заявки от журналистов, ученых и политиков, активно работающих в области медиа, политической деятельности и общественной политики Необходимо свободное владение английским языком Стипендиаты будут жить по месту учебы в течение одного семестра, им будет выплачиваться ежемесячная стипендия Центр не оплачивает расходы на проезд и проживание Претендентам необходимо отправить мотивационное письмо, заполненную форму заявки, план исследовательского проекта, резюме и рекомендации Заявки принимаются на регулярной основе t.me/cult_media

IT Blog

@ITbusiness_school · Post #1853 · 18.06.2022 г., 11:17

#cambridge#feedback Ba’zan mana shunday habarlarni o’quvchilarimizdan eshitganimda jamoamiz bilan juda hursand bo’lamiz. Butun jamoa bilan bu kabi izohlarni va fikrlarni nishonlaymiz. Sababi, bizning ishimizga baho bera oladigan yagona inson bu bizning o’quvchilar, mijozlar. Cambridge o’quv markazida istalgan o’quvchi istalgan payt to’g’ridan to’g’ri menga «feedback» yo’llay oladi. Va men deyarli barcha feedbacklarni shaxsan o’zim ko’rib chiqaman. Feedbacklarda asosan muammolarni yozishadi, lekin bugungisi bizni juda ham mamnun qildi! Bizning korxonamiz, loyihalarimiz «people first» tamoyilida ishlaydi. Biz uchun isonlar (mijozlar va hodimlar) har doim birinchi o’rinda bo’lgan va InShaaAlloh bo’ladi! Loyihalarimizni o’ziga hos tomoni ham shunda bo’lsa kerak) @jahongir_pulatov_blog

Opportunities with Zula

@opportunities_zula · Post #1818 · 11.04.2026 г., 19:01

Fully Funded ERA Summer Fellowship 2026 Cambridge!, UK 🇬🇧🎓🌍 ✨ Why You Should Apply? 🌟 Open to ALL nationalities 🙅‍♂️No Application Fees 💸 Fully Funded Benefits: ✈️ Airfare 🏨 Accommodation 💰 Stipend 🛂 Visa Cost Covered 📅 Program Duration: 10 Weeks 🔗 Apply Now: https://opportunitiescorners.com/era-summer-fellowship-2026/ 🔥 This could be your gateway to the UK — Don’t miss out! Tag someone who needs this 👇 #FullyFunded#Cambridge#UKOpportunities#Scholarships#OpportunitiesCorners🌍✨