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

Пребарај: #eukz30

当前筛选 #eukz30清除筛选
EU in Kazakhstan 🇪🇺🇰🇿

@euinkazakhstan · Post #243 · 06.02.2023 г., 04:26

Еуропалық Одақ пен Қазақстан арасындағы дипломатиялық қатынастардың орнатылғанына 30 жыл толды. Осыған орай Еуроодақтың Қазақстандағы Елшісі Кестутис Янкаускастың Jibek Joly телеарнасына берген сұхбатын тамашалыңыздар. 🇪🇺🇰🇿 Евросоюз и Казахстан отметили 30-летие дипломатических отношений. Смотрите интервью Посла Европейского Союза в Казахстане Кестутиса Янкаускаса телеканалу Jibek Joly. #EUKZ30#EUinKazakhstan#EUinKZ

EU in Kazakhstan 🇪🇺🇰🇿

@euinkazakhstan · Post #205 · 10.01.2023 г., 07:15

Биыл Еуропалық Одақ пен Қазақстан арасындағы дипломатиялық қатынастардың орнатылғанына 30 жыл толады. Қазақстан мен Еуропалық одақтың серіктестігі республика тәуелсіздік алған сәттен басталған. 1993 жылы 2 ақпанда дипломатиялық қатынастарды айқындайтын келісімге кол қойылып, сол жылы Брюссельде Қазақстанның Еуропалық Одақтағы Өкілдігі ашылған болатын. Ал 1994 жылы Алматы қаласында Еуропалық Одақтың Қазақстандағы Өкілдігі өз жұмысын бастап, 2007 жылы кеңсе Астана қаласына ауыстырылды. 🇪🇺🇰🇿 This year marks 30th anniversary of diplomatic relations between the European Union and Kazakhstan. Kazakhstan and the European Union started their close partnership since the country's independence. On 2 February 1993 the parties signed an agreement that established official diplomatic relations between the EU and Kazakhstan. In the same year Kazakhstan opened its office in Brussels. In 1994, the EU Delegation to Kazakhstan began its work in Almaty, and in 2007 the office was moved to Astana. #EUKZ30#EUinKZ#EUinKazakhstan

EU in Kazakhstan 🇪🇺🇰🇿

@euinkazakhstan · Post #215 · 19.01.2023 г., 06:33

🇪🇺🇰🇿 Білім беру – Еуропалық Одақ пен Қазақстан ынтымақтастығының негізгі бағыттарының бірі. Еуропалық Одақтың бастамасымен құрылған ERASMUS+ оқу-тәжірибелік бағдарламасы Қазақстанда 1995 жылдан бері іске қосылған. Осы уақыт аралығында Қазақстандағы 54 университет пен 44 ұйым бағдарлама арқылы 61 жобаны жүзеге асырып, 54 млн еуроға гранттарды жеңіп алған. Бағдарлама қызмет ете бастағалы 3374-тен аса қазақстандық студент Европа университеттерінде білім алып, тағылымдамадан өткен. 2022 жылы 59 қазақстандық студент Эрасмус Мундус бірлескен магистр дәрежесі шәкіртақысына ие болып, Еуропаның үздік университеттеріне жолдама алды. 📚📚📚 🇪🇺🇰🇿 Образование – одно из основных направлений сотрудничества Европейским Союза с Казахстаном. Учебно-практическая программа ERASMUS+, инициированная Европейским Союзом, действует в Казахстане с 1995 года. За этот период 54 вуза и 44 организации Казахстана реализовали 61 проект и получили гранты на сумму 54 млн евро. За период функционирования программы более 3374 казахстанских студентов прошли обучение и стажировки в европейских вузах. В 2022 году 59 казахстанских студентов стали обладателями совместных стипендий Erasmus Mundus, получив возможность обучиться в лучших университетах Европы. #EUKZ30#EUinKZ#Erasmus+

EU in Kazakhstan 🇪🇺🇰🇿

@euinkazakhstan · Post #225 · 26.01.2023 г., 06:07

Еуропалық Одақ пен Қазақстанның жасыл энергетика бойынша ынтымақтастығы аясында Svevind Group неміс-швед компаниясы Маңғыстау облысында "жасыл" сутегі өндіретін әлемдегі ең ірі зауыттардың бірін салады. Жобаның құны 50 млрд долларға бағаланып отыр. Жаңа зауыт 2030 жылға қарай Еуроодақ елдеріне жасыл технологиялар арқылы өндірілген электр энергиясын экспорттауға мүмкіндік береді. Аталған жо­баны жүзеге асыру барысында, құрылыс кезеңінде шамамен 3 500, нысандарды кезең-кезеңімен іске қосу кезінде 1 800-ге жуық жаңа тұрақты жұмыс орны ашылады. Сондай-ақ Маңғыстау облысында маман даярлау үшін Германия мен Қазақ­станның жоғары оқу орындары арасында ынтымақтастық орнату қарастырылған. 🇪🇺🇰🇿 В рамках сотрудничества ЕС-Казахстан в области зеленой энергии немецко-шведская компания Svevind Group построит в Мангистауской области один из крупнейших в мире заводов по производству "зеленого" водорода. Проект оценивается в $50 млрд. Предполагается, что новый завод позволит экспортировать электроэнергию, выработанную по зеленым технологиям, в страны Евросоюза уже к 2030 году. Реализация проекта позволит создать около 3500 рабочих мест на период строительства и около 1800 новых постоянных рабочих мест в период поэтапного ввода в эксплуатацию объектов. Кроме этого, проект предполагает сотрудничество между германскими и казахстанскими университетами для подготовки кадров в Мангистауской области. #EUKZ30#EU4Green#GreenEnergy