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

Резултати

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

Пребарај: #3rs

当前筛选 #3rs清除筛选
NEA Singapore

@NEASingapore · Post #373 · 26.06.2022 г., 01:27

Ever wondered what your used notebooks, tissue boxes and loose paper becomes after putting them into the blue bins? They are treated and recycled into new items such as egg trays! #3Rs#RecycleRight Not sure what can be recycled? Find out at go.gov.sg/recycleright!

NEA Singapore

@NEASingapore · Post #368 · 12.06.2022 г., 01:30

Recycling plastic can be confusing with the many plastic identification numbers. To keep things simple, just recognise and remember that these 3 groups that are ok to be put into Bloobin! Not sure what can be recycled? Find out at go.gov.sg/recycleright! #3Rs#RecycleRight

NEA Singapore

@NEASingapore · Post #335 · 14.04.2022 г., 09:31

Here’s another test for your recycling knowledge! Do you know which items can or cannot be placed into the blue recycling bins? Not sure what can be recycled? Find out at go.gov.sg/recycleright! #3Rs#RecycleRight

NEA Singapore

@NEASingapore · Post #291 · 12.12.2021 г., 03:29

It’s finally that time of year to pull out our festive decorations! Rather than buy new decorations each year, keep them to be reused each year -- they never go out of style 😊#SayYEStoWasteLess#3Rs

NEA Singapore

@NEASingapore · Post #280 · 04.11.2021 г., 02:00

#RecycleRight Tip: Flatten cardboard boxes, even smaller ones such as tissues boxes. This gives you more room in your recycling corner, and frees up space in the recycling bin! #3Rs

NEA Singapore

@NEASingapore · Post #338 · 21.04.2022 г., 09:31

#DidYouKnow not all takeout containers or disposable plastics can be recycled? If they’re greasy or dirty, bin them to avoid contaminating other recyclables. Not sure what can be recycled? Find out at go.gov.sg/recycleright! #3Rs#RecycleRight

NEA Singapore

@NEASingapore · Post #450 · 25.10.2022 г., 00:45

Dressing up as your favourite superhero this Halloween? Get creative and make a costume using everyday household items. When you’re done, recycle or reuse what you can of your outfit, so that your superhero legacy will continue to live on 🦸‍♂️ #3Rs#ReduceReuseRecycle

NEA Singapore

@NEASingapore · Post #1215 · 31.12.2025 г., 00:54

Glow-up your home with a recycling corner! Keep a bin, box or bag right beside your trash bin to make recycling effortless. ✅ Drop in only clean recyclables 🚫 Keep food scraps & oily packaging out Soon, recycling will feel like second nature! #3Rs#RecycleRight#TowardsZeroWaste#SustainableSG

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