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

Резултати

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

Пребарај: #sgbudget2024

当前筛选 #sgbudget2024清除筛选
gov.sg

@Govsg · Post #2574 · 22.11.2024 г., 07:24

📢 The Weekly Wrap – 22 November 2024 1️⃣ PSA: #SGBudget2024 December Benefits Are On The Way! 📢📢📢 We are nearing the end of the year - check out what you’re eligible for under #SGBudget2024 in December – Assurance Package Cash, MediSave Bonus, Retirement Savings Bonus! 🔗 Check your eligibility at govbenefits.gov.sg 2️⃣PAU-liament Round-up! 🎥🎥🎥 Want to stay informed on the latest discussions in Parliament but short on time? We’ve got the solution! Catch up on the latest updates with the PAU-liament round-up! https://www.instagram.com/reel/DCnoWa_NZef/?igsh=MXV2OXpldnY5Z3hqbw== 3️⃣The Landlady Singer Returns! 🎶🎶🎶 Get ready to be entertained! ‘The Landlady Singer Returns’ brings laughter, music and heart to you every Tuesday at 8pm on Channel 8. You can also catch the first 4 episodes at go.gov.sg/thelandladysingerreturns

gov.sg

@Govsg · Post #2560 · 15.11.2024 г., 06:31

#SGBudget2024 More support is coming in December 2024 to help with your daily living expenses and healthcare needs. Find out more: govbenefits.gov.sg.

gov.sg

@Govsg · Post #2483 · 01.10.2024 г., 12:30

#SGBudget2024 Look forward to enhanced U-Save and S&CC rebates for eligible households this October! Find out more in govbenefits.gov.sg.

gov.sg

@Govsg · Post #2381 · 13.08.2024 г., 10:00

📢#SGBudget2024 Special cash payment of $200 to $400 for eligible Singaporeans coming your way in September! 🔗 Find out more: govbenefits.gov.sg

gov.sg

@Govsg · Post #1971 · 21.02.2024 г., 11:46

The CPF Special Account will be closed for members aged 55 and above in early 2025. What can you do to continue earning higher long-term interest rate? Find out ⬆️#SGBudget2024 Infographic: MOM with CPF Board

NEA Singapore

@NEASingapore · Post #778 · 04.03.2024 г., 11:34

#SGBudget2024 Enjoy energy savings and lower utility bills! Claim your vouchers from 15 Apr 2024. As part of the enhanced Climate-Friendly Households Programme, the vouchers can be used to purchase 10 types of energy- and water-efficient household products. More info at go.gov.sg/climatevouchers

NEA Singapore

@NEASingapore · Post #777 · 04.03.2024 г., 11:31

#SGBudget2024 To support businesses to build competencies in waste management, we have partnered training providers to introduce the course. This can help to improve resource efficiency, lower costs, and enhance corporate social responsibility. More info at go.gov.sg/zero-waste-manager-course

NEA Singapore

@NEASingapore · Post #776 · 04.03.2024 г., 11:11

#SGBudget2024 From 1 Jan 2026, paints sold in Singapore intended for application on the interior of buildings will be required to have no formaldehyde. Minimising formaldehyde improves indoor air quality and is part of our ongoing efforts to safeguard public health. More info at www.nea.gov.sg/year-of-public-hygiene

SkillsFutureSG

@skillsfuturesg · Post #545 · 16.02.2024 г., 08:20

📢 Exciting news from #SGBudget2024: Together with MOE, SkillsFuture Singapore is stepping up support for mid-career Singaporeans with the new SkillsFuture Level-Up Programme 🚀 Discover how you can reskill and upskill to stay relevant in this changing economy. For more information, check out go.gov.sg/Budget24-SFLPTG🔍

gov.sg

@Govsg · Post #1969 · 16.02.2024 г., 12:24

#ICYMI DPM and Finance Minister Lawrence Wong delivered the #SGBudget2024 which introduced new measures to safeguard Singapore’s peace and security. This includes establishing a new National Cybersecurity Command Centre and Future Energy Fund. Find out more ⬆️ or visit www.singaporebudget.gov.sg. Infographics: MOF

gov.sg

@Govsg · Post #1963 · 16.02.2024 г., 12:14

#ICYMI#SGBudget2024The Government will strengthen support for seniors and their retirement needs. This includes boosting the Mahjulah Package, raising the CPF Enhanced Retirement Sum and enhancing the Age Well SG programme. Full details ⬆️ or visit www.singaporebudget.gov.sg. Infographics: MOF

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