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

Резултати

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

Пребарај: #cos2024

当前筛选 #cos2024清除筛选
HDB

@SingaporeHDB · Post #2222 · 06.03.2024 г., 10:01

Want a new, affordable home near your parents/ nature/ the city? Say no more, fam! 😎 We’re developing new housing areas across the island to meet housing demand, including Chencharu in Yishun, Bayshore, Mount Pleasant, Keppel, and Pearl’s Hill. With a wide variety of flats being planned, there will be a home for every budget and every need. #COS2024

Hashtags

gov.sg

@Govsg · Post #2100 · 09.03.2024 г., 09:09

#COS2024 MSE announced initiatives that will help Singapore press on towards net zero, protect our coastlines, and ensuring Singapore’s food security and safety. More ⬆️ Infographics: MSE

Hashtags

gov.sg

@Govsg · Post #2088 · 08.03.2024 г., 12:05

At #COS2024, the Singapore Government Partnerships Office was launched to facilitate engagements with Singaporeans. MCCY will also continue to strengthen the culture of care in Singapore to support lower-income families and those in need. Infographics: MCCY

Hashtags

gov.sg

@Govsg · Post #2079 · 08.03.2024 г., 07:41

Sports, and arts and heritage are integral to Singapore’s shared identity. MCCY announced at #COS2024 enhanced support and new developments to encourage a vibrant sporting and arts environment. Infographics: MCCY

Hashtags

gov.sg

@Govsg · Post #2075 · 07.03.2024 г., 12:44

At #COS2024, MOH highlighted key efforts to improve preventive health and aged care, and to expand hospital capacity and settings to include mental health services. MediShield Life will also be enhanced to provide Singaporeans with greater assurance. More info ⬆️ Infographics: MOH

Hashtags

gov.sg

@Govsg · Post #2069 · 07.03.2024 г., 04:27

#COS2024 Find out how MOT is enhancing our transport systems to improve inclusivity, connectivity and sustainability for our commute, and growing the industries for livelihoods. ⬆️ Infographics: MOT

Hashtags

gov.sg

@Govsg · Post #2063 · 07.03.2024 г., 02:23

Key housing initiatives introduced at #COS2024 include more homes in the pipeline to increase supply, increased support for young and lower-income families to own their home, and building of elder-friendly homes and neighbourhoods. More info ⬆️ Infographics: MND

Hashtags

gov.sg

@Govsg · Post #2057 · 06.03.2024 г., 10:32

#COS2024 MND announced new initiatives that keep public housing affordable, rejuvenate heartlands, and create a sustainable and inclusive city. Check out the initiatives ⬆️ Infographics: MND

Hashtags

gov.sg

@Govsg · Post #2054 · 06.03.2024 г., 04:19

MSE has identified enhancing public hygiene and health as a key priority at #COS2024. Find out how it will be tackled ⬆️ Infographics: MSE

Hashtags

gov.sg

@Govsg · Post #2046 · 06.03.2024 г., 02:32

#COS2024 Ministry of Manpower will continue strengthening support for workers and businesses amid global economic uncertainties. These include uplifting older and lower-wage workers through changes to the CPF system, enhanced Workfare schemes, and introducing Tripartite Guidelines on Flexible Work Arrangement Requests for progressive workplaces. Find out more ⬆️ Infographics: MOM

Hashtags

gov.sg

@Govsg · Post #2037 · 05.03.2024 г., 10:31

At #COS2024, MOE introduced various initiatives that will help re-envision learning, helping all Singaporean students pursue their dreams. Find out more ⬆ Infographics: MOE

Hashtags

gov.sg

@Govsg · Post #2031 · 05.03.2024 г., 04:33

#COS2024 MCI announced its plans to invest in Singaporeans and local businesses to help them leverage emerging technologies to remain competitive. Infographic: MCI

Hashtags

ПретходнаСтраница 1 од 3Следна