Можно ли в 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
Сотрудники избирательных участков носят бронежилеты, на крышах дежурят снайпера, в воздухе летают дроны, а на земле всё ограждено колючей проволокой’ – Sky News о мерах безопасности в день выборов в США.
#Election2024#USPresidentialElection#новости#ştiri
🤩Подпишись на 112.md
🤩Новости Молдовы и мира 24/7
"Россия представляет собой угрозу для честных выборов в США" – ФБР считает, что Москва будет влиять на должностных лиц избирательной комиссии в колеблющихся штатах, возможно даже спровоцирует насильственные действия в их адрес.
#Election2024#USPresidentialElection#новости#ştiri
🤩Подпишись на 112.md
🤩Новости Молдовы и мира 24/7
Der Spiegel: Штат Вашингтон задействует Национальную гвардию.
В Вашингтоне принимаются особые меры безопасности перед президентскими выборами из-за опасений насилия и недавнего уничтожения сотен бюллетеней.
Губернатор Джей Инсли привел в боевую готовность Национальную гвардию после поджога урн для голосования, произошедшего в его штате и в Портленде, Орегон.
Более двух миллионов граждан уже проголосовали досрочно, что подчеркивает активность избирателей в преддверии выборов.
#Election2024#USPresidentialElection#новости#ştiri
🤩Подпишись на 112.md
🤩Новости Молдовы и мира 24/7
Bloomberg: Мировые лидеры — кто выигрывает и кто проигрывает от возвращения Трампа.
По мнению издания отношения Трампа с мировыми лидерами будут определять все глобальные события.
Когда Дональд Трамп вернется в Белый дом, его транзакционный подход к внешней политике, как и в первый срок, будет ориентирован на максимальные выгоды.
Победители
Биньямин Нетаньяху, премьер-министр Израиля
Нетаньяху и Трамп — давние союзники. Трамп поддерживает Израиль в вопросах безопасности и отвергает критику по правам человека. С его возвращением Израиль получит поддержку в противостоянии с Ираном и более жесткую позицию по палестинскому вопросу.
Нарендра Моди, премьер-министр Индии
Моди также выиграет от Трампа, учитывая их личные отношения. Индия продолжает поддерживать связи с Россией, что вызывает напряженность с администрацией Байдена, но Трамп будет избегать давления на Индию по правам человека и сможет содействовать нормализации отношений с Россией.
Владимир Путин, президент России
Для Путина возвращение Трампа — шанс ослабить НАТО и снизить поддержку Украины, что выгодно Кремлю. Несмотря на непредсказуемость Трампа, диалог с ним может снизить напряжение в отношениях с Западом.
Мухаммед ибн Салман Аль Сауд, наследный принц Саудовской Аравии
Саудовская Аравия выиграет от возвращения Трампа, особенно в вопросах безопасности и энергетики. Он продолжит поддерживать королевство и договоренности с Израилем, что поможет Саудовской Аравии справляться с угрозами со стороны Ирана.
Ким Чен Ын, лидер Северной Кореи
Для Кима возвращение Трампа — шанс ослабить американское военное присутствие в регионе. В первый срок Трамп сокращал военные учения с Южной Кореей, и Ким надеется на продолжение этой политики.
Проигравшие
Владимир Зеленский, президент Украины
Украина опасается, что Трамп снизит поддержку и окажет давление на Киев, чтобы тот согласился на уступки в переговорах с Россией. Трамп обещал «закончить войну за 24 часа», что вызвало тревогу в Киеве, так как его подход может включать отказ от долговременной поддержки Украины.
Масуд Пезешкиан, президент Ирана
Иран будет в проигрыше, поскольку Трамп, вероятно, продолжит политику «максимального давления», ужесточив санкции. Это ограничит возможность Тегерана достичь соглашения по ядерной программе и усилит его международную изоляцию.
Си Цзиньпин, президент Китая
Для Китая победа Трампа — это удар по экономике из-за возможных высоких тарифов на китайские товары. Китай также окажется под давлением в вопросах торговли, что усложнит восстановление экономического роста.
Эмманюэль Макрон, президент Франции
Макрон уже имел опыт работы с Трампом, и отношения с ним были сложными. Возвращение Трампа может усилить торговые трения, например, по налогообложению крупных технологических компаний. Франция также может почувствовать ослабление влияния в Европе, если Трамп усилит позиции США на международной арене.
Клаудия Шейнбаум, президент Мексики
Мексика окажется в числе проигравших, так как Трамп вероятно усилит давление на страну по вопросам миграции и торговли. Переговоры по торговле также могут усложниться, если Трамп потребует повышения тарифов, что ударит по экономике Мексики.
Олаф Шольц, канцлер Германии
Германия снова окажется в сложной ситуации. Трамп может продолжить давление на торговый профицит Германии и угрожать высокими тарифами на автомобили. Германия также может столкнуться с конфликтами по политическим вопросам, как, например, по поддержке демократических ценностей, что не всегда совпадает с подходами Трампа.
Из всего вышесказанного Bloomberg делает вывод:
Мировая политика при возвращении Трампа будет зависеть от того, кто сможет договориться с ним и какие выгодные сделки предложить. Некоторые лидеры получат укрепление позиций, в то время как другие столкнутся с новыми вызовами, подрывающими их интересы.
#DonaldTrump#Election2024#USPresidentialElection#новости#ştiri
🤩Подпишись на 112.md
🤩Новости Молдовы и мира 24/7
Стабильные, здоровые и устойчивые отношения КНР и США соответствуют интересам обеих стран, заявил Си Цзиньпин в поздравлении Трампу.
#DonaldTrump#Election2024#USPresidentialElection#новости#ştiri
🤩Подпишись на 112.md
🤩Новости Молдовы и мира 24/7
Вслед за СМИ и политиками на избрание Дональда Трампа отреагировали все рынки.И здесь наблюдается эйфория: S&P500 растет на 2,16%, Dow Jones прибавляет 3,17%, а NASDAQ увеличивается на 2,18%. Аналитики связывают это как со снижением уровня неопределенности, так и с обещаниями Трампа по поддержке американских корпораций.
Отдельно выделяется Tesla, которая прибавляет 14,4% после слов избранного президента, что Илон Маск — новая звезда США. Некоторые называют компанию Маска главным бенефициаром победы Трампа, кстати, Trump Media прибавляет 16%. В то же время акции европейских автопроизводителей начали терять позиции: BMW и Mercedes теряют более 6% — это связано с обещанными Трампом пошлинами, что снизят конкурентоспособность европейских товаров.
Нефть марки Brent теряет 1,44%, упав до $74,45 за баррель. А это связано с энергетической политикой Трампа: он обещал снизить цену на нефть в мире, расширив добычу в США. Если говорить о сырье в целом, то почти все дешевеет: медь теряет 4,24%, алюминий — 2,54%. Отдельно выделяется золото (-3,01%), которое в последние месяцы обновляло максимумы.
Видимо, инвесторы считают, что время высоких рисков и волнений проходит, поэтому начинают постепенно продавать этот защитный актив.
#DonaldTrump#Election2024#USPresidentialElection#новости#ştiri
🤩Подпишись на 112.md
🤩Новости Молдовы и мира 24/7
🇺🇸 Фондовый рынок США в среду достиг рекордного уровня на фоне победы Дональда Трампа на президентских выборах: акции Tesla выросли на 14,4 процентов, а Илон Маск стал богаче на 20 миллиардов долларов.
#DonaldTrump#Election2024#USPresidentialElection#новости#ştiri
🤩Подпишись на 112.md
🤩Новости Молдовы и мира 24/7
Министр обороны Литвы Лауринас Кащюнас заявил, что если бы у него был такой выбор, он проголосовал бы за Трампа, отметив его стремление "к миру через силу", как у Рональда Рейгана.
Кащюнас подчеркнул, что именно в период президентства Трампа российские силы понесли значительные потери, чего не происходило раньше.
Чего⁉️
#DonaldTrump#Election2024#USPresidentialElection#новости#ştiri
🤩Подпишись на 112.md
🤩Новости Молдовы и мира 24/7
Список [не полный] американских знаменитостей, которые обещали уехать из США 🇺🇸 в случае победы Трампа:
➖Леди Гага
➖Барбара Стрейзанд
➖Роберт де Ниро
➖Тейлор Свифт
➖Боно
➖Том Хэнкс
➖Джей Ло
➖Вупи Голдберг
➖Билли Айлиш
➖Билл Гейтс
➖Джулия Робертс
➖Мэрил Стрип
➖Кевин Спейси
➖Пинк
➖Джон Ледженд
➖Бейонсе
➖Харрисон Форд
➖Джордж Клуни
Берем⁉️
#DonaldTrump#Election2024#USPresidentialElection#новости#ştiri
🤩Подпишись на 112.md
🤩Новости Молдовы и мира 24/7
У Трампа есть список лиц, которым он планирует отомстить после переизбрания, — Politico.
Издательство пишет, что в «черный список» республиканца вошли:
▫️Джо Байден и члены его семьи (особенно сын президента Хантер).
▫️Камала Харрис.
▫️Экс-президент Барак Обама.
▫️Бывший госсекретарь Хиллари Клинтон.
▫️Бывший спикер Палаты представителей Нэнси Пелоси.
▫️Экс-глава Объединённого комитета начальников штабов Марк Милли.
▫️Экс-директор ФБР Джеймс Коми.
▫️Основатель Facebook Марк Цукерберг.
▫️Прокуроры и судьи, причастные к делам в отношении Трампа.
▫️Ряд членов Палаты представителей, чиновников, адвокатов, журналистов.
#DonaldTrump#Election2024#USPresidentialElection#новости#ştiri
🤩Подпишись на 112.md
🤩Новости Молдовы и мира 24/7
🇪🇺Глава Еврокомиссии Урсула фон дер Ляйен поздравила Трампа с победой на выборах.
«ЕС и США — это больше, чем просто союзники. Нас связывает настоящее партнерство между нашим народом, объединяющим 800 миллионов граждан».
#DonaldTrump#Election2024#USPresidentialElection#новости#ştiri
🤩Подпишись на 112.md
🤩Новости Молдовы и мира 24/7
Предсказаниям Симпсонов больше не верим
😂
#DonaldTrump#Election2024#USPresidentialElection#новости#ştiri
🤩Подпишись на 112.md
🤩Новости Молдовы и мира 24/7