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

Резултати

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

Пребарај: #antiapartheid

当前筛选 #antiapartheid清除筛选

🕊November 7: The Woman Who Said “No” to Apartheid 🇿🇦🗓 November 7 marks the birthday of Helen Suzman (née Gavronsky; 1917–2009) — a South African activist and politician who bravely stood against apartheid. She was the only member of Parliament to consistently and unequivocally oppose all apartheid legislation. Suzman played a crucial role in improving prison conditions for members of the banned African National Congress (ANC), including Nelson Mandela, and she used her parliamentary privilege to bypass government censorship and share reports on the worst abuses of apartheid. She was nominated twice for the Nobel Peace Prize. 🕊 💬Quotes by Helen Suzman: • “I was the only one who said ‘no’ to apartheid, but that was no reason to keep quiet.” • “It is not my questions that embarrass South Africa—it is your answers.” (Addressed to the apartheid government during her time in Parliament.) • “The test of civilization is the way that it cares for its helpless members.” 📸 Photo: Wikipedia #SouthAfrica#History#HumanRights#AntiApartheid#Mandela

🎉June 7 marks the birthday of Johnny Clegg (1953–2019), South African musician, anthropologist, and anti-apartheid icon. 🎶 Known as "The White Zulu," he blended Western rock with Zulu rhythms, language, and dance in groundbreaking ways. 🎤 He co-founded the bands Juluka and Savuka, defying apartheid laws by bringing Black and white musicians together on stage. 🎵 One of his most powerful songs, Asimbonanga, was a tribute to Nelson Mandela during his imprisonment. 🔍Fun fact: Although many of his songs were banned in South Africa, Clegg gained global fame and became a symbol of cultural resistance and unity. #JohnnyClegg#Music#SouthAfrica#AntiApartheid#Birthday

🇿🇦Steve Biko — the Voice of Black Consciousness 🗓December 18 marks the birth of Steve Biko (Xhosa Steve Biko; full name Stephen Bantu Biko; 1946–1977), a prominent South African anti-apartheid activist and the founder of the Black Consciousness Movement. Biko was a committed Pan-Africanist and an advocate of African socialism. His ideas encouraged Black South Africans to reclaim their dignity, identity, and self-worth under apartheid ✊🏿 Killed as a result of police brutality, Steve Biko became a political martyr of the anti-apartheid struggle. ✍️ He wrote under the pseudonym Frank Talk — a name that can be understood both as “Frank, speak” and “honest / outspoken talk,” perfectly capturing the spirit of his writing. 🕯Steve Biko remains a lasting symbol of courage, consciousness, and the fight for human dignity. #SouthAfrica#History#SteveBiko#AntiApartheid#BlackConsciousness#HumanRights

🇿🇦🗓October 27 marks the birthday of Oliver Tambo (1917–1993) — a South African anti-apartheid activist who served for 24 years as President of the African National Congress (ANC). 🌍 He spent 30 years in exile. ✈️ In 2006, Johannesburg International Airport was renamed O. R. Tambo International Airport in his honor. 💬Quotes by Oliver Tambo: • 🇿🇦 “A country, a movement, a person that does not value its youth and children does not deserve its future.” • ⚖️ “Injustice anywhere is a threat to justice everywhere.” • 🤝 “True leaders do not seek power, they seek to empower others.” • 🚀 “Progress is not an accident; it is the result of concerted effort towards a common goal.” • 👥 “Differences should not divide us; they should be celebrated as a reflection of our shared humanity.” • 💖 “The legacy we leave behind is not measured by material wealth, but by the impact we have on the lives of others.” #History#SouthAfrica#OliverTambo#AntiApartheid#Inspiration#Leadership#Quotes

🇿🇦🎉On July 19, we remember Christopher van Wyk (1957–2014) — a South African poet, novelist, and beloved children’s author. ✊ He is widely known for his powerful poem In Detention, which exposes the suspicious deaths of political prisoners under apartheid. 📚 His writing was more than art — it was protest, memory, and truth-telling in the face of systemic injustice. 🕊 We remember. #SouthAfrica#Poetry#AntiApartheid#HumanRights#InDetention#ChristopherVanWyk#Literature#History

🇿🇦On July 21, we honor the legacy of Albert John Luthuli (1898–1967) — South African political leader, anti-apartheid activist, and president of the African National Congress (ANC). 🏆 In 1960, Luthuli became the first African recipient of the Nobel Peace Prize for his unwavering commitment to nonviolent resistance against racial oppression in apartheid South Africa. ✊ His moral leadership, courage, and commitment to equality continue to inspire generations. 💬 "I am a man of peace. My country can be free—without violence." 🕊 We remember. #AlbertLuthuli#SouthAfrica#NobelPeacePrize#HumanRights#AntiApartheid#History#Freedom#ANC