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

Резултати

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

Пребарај: #epam

当前筛选 #epam清除筛选
MDC Uzbekistan

@mdcuzbekistan · Post #135 · 21.09.2021 г., 11:58

📌 Onlayn ish intervyulariga tayyorgarlik ko'rish uchun 6 dona maslahat 1. Texnologiyalar bo'yicha bilim va ko'nikma Kompaniya talab qilgan texnologiyalar bo'yicha ko'nikmalaringiz bo'lishi muhim 2. Oldindan mashq qiling va tayyorlaning Oldindan bo'lib o'tadigan suhbatga tayyorlaning, bu suhbatni qulay o'tkazishingizga yordam beradi 3. Vaqtida qatnashing Suhbatga vaqtida tayyor bo'lib turing imkoni bo'lsa 15 minut oldin o'riningizga joylashib oling 4. Professional tarzda kiying Ko'pchilik onlayn suhbat bo'lganligi sababli o'z kiyimlariga e'tibor berishmaydi, siz esa chiroyli va tartibli kiyining hamda yorug' xonaga joylashib oling 5. Diqqat bilan tinglang va aniq gapiring Onlayn suhbatda, suhbatdoshingizni diqqat bilan tinglang va aniq mazmunli gapirishga harakat qiling 6. Suhbatdan keyin chiroyli xayrlashing Suhbat tugallangandan so'ng, suhbatdoshingizga rahmat aytib u bilan chiroyli xayrlashing #epam#dotnetuz .NET Uzbekistan Community ______ Telegram | Instagram | Youtube

MDC Uzbekistan

@mdcuzbekistan · Post #316 · 19.01.2022 г., 13:53

EPAM bilan bo'lib o'tgan audio suhbat. Agarda jonli efirda qatnashmaganlar bo'lsa yuqoridagi audioni eshitishingizni maslahat beramiz. Training lar haqida: • training.epam.uz Vakansiyalar bo'yicha: • epam.com/careers/job-listings?country=Uzbekistan&city=Tashkent Treyning, Lab bo'yicha savollar uchun: • Email: [email protected] • Telegram: @JSA97 Ishga kirish bo'yicha: • Email: [email protected] • Telegram: @Vitaliy92 • Email: [email protected] • Telegram: @Margarita_K31 #podkast#epam#live .NET Uzbekistan Community ______ Telegram | Instagram | Youtube

MDC Uzbekistan

@mdcuzbekistan · Post #498 · 16.06.2022 г., 09:25

📌 EPAM Training Center launches an internship for aspiring .NET Developers. The program focuses on teaching you to solve tasks and getting practical experience. You will learn the concepts of .NET and the most common technologies, frameworks, and tools for working with .NET Core. Upon completing the program, you will have an opportunity to join our global team of 61 600+ brilliant minds. Learn more about our requirements and apply via the links below. https://training.epam.uz/Training/Details/3384?lang=en #epam#intern#dotnetuz .NET Uzbekistan Community ➖➖➖➖➖➖➖➖➖➖ Telegram | Instagram | Youtube

MDC Uzbekistan

@mdcuzbekistan · Post #184 · 02.11.2021 г., 17:05

Siz ham harakat qiling! dot-net.uz jamoasi a'zosi Suxrob Hayitmurodov EPAM Systems kompaniyasiga .NET bo'yicha internship ga qabul qilindi. Jamoa nomidan kelgusi ishlariga muvaffaqqiyatlar tilab qolamiz. #epam#dotnetuz#yangilik#dotnet .NET Uzbekistan Community ______ Telegram | Instagram | Youtube

MDC Uzbekistan

@mdcuzbekistan · Post #134 · 21.09.2021 г., 10:33

Siz ham harakat qiling! dot-net.uz jamoasi a'zosi Sultonbek Rahimov EPAM Systems kompaniyasiga .NET bo'yicha internship ga qabul qilindi. Jamoa nomidan kelgusi ishlariga muvaffaqqiyatlar tilab qolamiz. #epam#dotnetuz#yangilik#dotnet .NET Uzbekistan Community ______ Telegram | Instagram | Youtube

MDC Uzbekistan

@mdcuzbekistan · Post #128 · 13.09.2021 г., 09:03

Siz ham harakat qiling! dot-net.uz jamoa a'zosi Abdulloh Tolibjonov EPAM Systems kompaniyasiga .NET bo'yicha internship ga qabul qilindi. Jamoa nomidan kelgusi ishlariga muvaffaqqiyatlar tilab qolamiz. #epam#dotnetuz#yangilik#dotnet .NET Uzbekistan Community ______ Telegram | Instagram | Youtube

MDC Uzbekistan

@mdcuzbekistan · Post #94 · 03.08.2021 г., 13:56

Siz ham harakat qiling! dot-net.uz jamoa a'zosi Farrux Xolmatov EPAM Systems kompaniyasiga .NET bo'yicha internship ga qabul qilindi. Jamoa nomidan kelgusi ishlariga muvaffaqqiyatlar tilab qolamiz. #epam#dotnetuz#yangilik#dotnet .NET Uzbekistan Community ______ Telegram | Instagram | Youtube

MDC Uzbekistan

@mdcuzbekistan · Post #34 · 10.06.2021 г., 11:22

Siz ham harakat qiling! dot-net.uz jamoa a'zosi Hondamir Abduxoshimov endilikda EPAM kompaniyasiga .NET dasturchi lavozimi bilan ishga qabul qilindi. Jamoa nomidan kelgusi ishlariga muvaffaqqiyatlar tilab qolamiz. 👉 Resume 🤙Contact #epam#dotnetuz#yangilik#dotnet ___________ Telegram | Instagram | Youtube