Можно ли в 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
Echidna Global Fellowship 2026 (Fully Funded in USA) 🇺🇸
Visit: https://opportunitiescorners.com/echidna-global-scholar-program/
The Program Covers Stipend, Airfare Tickets, Accommodation, Visa Cost, and Health Insurance.
#OpportunitiesCorners#Fellowship#USA
04 Days Left to Apply: Summer Research Program 2026 in Bulgaria 🇧🇬 (Fully Funded)
Visit: https://opportunitiescorners.com/bulgaria-insait-summer-fellowship/
12 Weeks Summer Internship for all the Nationals. No IELTS. No Fee.
The Program Covers Airfare, Accommodation, 2000 Euro Stipend, and Visa Support.
Deadline: 8 March 2026
#BulgariaSummer#Fellowship#OpportunitiesCorners
MIT KSJ Fellowship 2026/27 in USA 🇺🇸 (Fully Funded)
Visit: https://opportunitiescorners.com/mit-ksj-fellowship/
9 Months Program. Open to all the Nationals. The Program Covers Airfare, Housing, Insurance, 85000 USD Stipend.
#KSJ#USA#Fellowship#OpportunitiesCorners
2026 Berlin Fellowship in Germany 🇩🇪 (Fully Funded)
Visit: https://opportunitiescorners.com/berlin-fellowship-program/
The Program Covers Airfare, Meals, Accommodation, Monthly Stipend, Living Expenses, Health Insurance.
#Berlin#Fellowship#Germany#OpportunitiesCorners
Field research fellowship
If you're a UPSC student and thinking about a Plan B, this could be the perfect opportunity for you. Data Analytics for Public Policy Fellowship is a 2 months , fully online program that allows you to explore the world of quantative research methods. It's a great way to test your interests and see if research could be your Plan B. The program runs from 5th January to 15th March 2025, and you won't need to travel for fieldwork—everything can be done in your own neighborhood. With limited seats, this is a chance to explore new opportunities without a long-term commitment. Apply by 4th January.
https://iisppr.org.in/data-fellowship/
#UPSC#CareerPlanning#Fellowship#NewOpportunities
Field research fellowship
If you're a UPSC student and thinking about a Plan B, this could be the perfect opportunity for you. The IISPPR Field Research Fellowship is a one-month, fully online program that allows you to explore the world of qualitative research methods. It's a great way to test your interests and see if research could be your Plan B. The program runs from September 1 to 30, 2024, and you won't need to travel for fieldwork—everything can be done in your own neighborhood. With limited seats, this is a chance to explore new opportunities without a long-term commitment. Apply by August 15
https://iisppr.org.in/
#UPSC#CareerPlanning#Fellowship#NewOpportunities
Field research fellowship
If you're a UPSC student and thinking about a Plan B, this could be the perfect opportunity for you. The IISPPR Field Research Fellowship is a one-month, fully online program that allows you to explore the world of qualitative research methods. It's a great way to test your interests and see if research could be your Plan B. The program runs from September 1 to 30, 2024, and you won't need to travel for fieldwork—everything can be done in your own neighborhood. With limited seats, this is a chance to explore new opportunities without a long-term commitment. Apply by August 15
https://iisppr.org.in/
#UPSC#CareerPlanning#Fellowship#NewOpportunities
Field research fellowship
If you're a UPSC student and thinking about a Plan B, this could be the perfect opportunity for you. The IISPPR Field Research Fellowship is a one-month, fully online program that allows you to explore the world of qualitative research methods. It's a great way to test your interests and see if research could be your Plan B. The program runs from September 1 to 30, 2024, and you won't need to travel for fieldwork—everything can be done in your own neighborhood. With limited seats, this is a chance to explore new opportunities without a long-term commitment. Apply by August 15
https://iisppr.org.in/
#UPSC#CareerPlanning#Fellowship#NewOpportunities
🇫🇷 Paris Collaborative Fellow 2026 | Fully funded
Дедлайн: 26 февраля 2026 | Страны: все | Уровни: школьники 12–18 лет
Что покрывают
Участие в глобальной программе для молодых инноваторов
Возможность презентовать проект перед международной экспертной панелью
Наставничество и сопровождение
Возможные предложения стажировок и рекомендательные письма
Доступ к международному сообществу участников из 80+ стран
Где учиться
Paris Collaborative (международная программа, онлайн/гибридный формат)
Подать онлайн: https://pariscolab.com
#fellowship#innovators#youth#startup#science#technology#socialimpact
🚀 Tether-Linked Super PAC Reports $300,000 Ad Spend Amid Zero Account Balance
Fellowship, a super PAC reportedly associated with Tether, has revealed a $300,000 advertising expenditure to Nxum Group, a company co-founded by Tether US CEO Bo Hines. According to NS3.AI, the Federal Election Commission filing indicates that the spending was in support of Georgia Republican Clay Fuller. Despite this significant expenditure, Fellowship's current federal disclosures continue to show its accounts at zero, even after a prior announcement that it would be established with pledges totaling $100 million.
#Tether#SuperPAC#AdSpend#NxumGroup#BoHines#FederalElectionCommission#GeorgiaRepublican#ClayFuller#Fellowship#PoliticalExpenditure#ZeroBalance#NS3AI