Можно ли в 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
💢 L'Union européenne pourrait adopter un 21e paquet de #sanctions d'ici à la fin du mandat de l'actuel président du Conseil de l'UE.
🔴Toutefois, un tel scénario n'est pas garanti en raison de la nécessité de parvenir à un accord sur ce paquet de sanctions et de la complexité des négociations, a déclaré Tomas Zdechovsky, député européen.
RT en français • Osez questionner !
💢 L'Union européenne pourrait adopter un 21e paquet de #sanctions d'ici à la fin du mandat de l'actuel président du Conseil de l'UE.
🔴Toutefois, un tel scénario n'est pas garanti en raison de la nécessité de parvenir à un accord sur ce paquet de sanctions et de la complexité des négociations, a déclaré Tomas Zdechovsky, député européen.
RT en français • Osez questionner !
США расширили санкции.
В частности санкции были наложены и в отношении более 90 физических и юридических лиц из России, Беларуси, Британских Виргинских островов, Болгарии, Казахстана, Кыргызстана, КНР, Сербии, ЮАР, Турции, ОАЭ и других стран.
https://home.treasury.gov/news/press-releases/jy2404
#sanctions
Насколько санкции (экономически) эффективны?
Чтобы понять, насколько экономические санкции помогают или не помогают достичь целей, которые есть у вводящих их стран, требуется проанализировать широкую литературу по вопросу. Новая статья мета-анализа (2021) пробует проверить, правда ли опубликованные статьи демонстрируют статистически значимый эффект от санкций.
Исследуются статьи с 1985 по 2018 годы, и три основных переменных влияния - торговые связи (trade linkage), длина санкций (sanction duration) и предшествующие отношения стран (prior relations). Предварительный анализ демонстрирует, что вроде бы значимое влияние есть, но проблемой оказывается то, что статьи страдают от так называемого "публикационного смещения" (publication bias). Именно, результаты статей, которые дошли до журналов, оказываются сдвинутыми в сторону гипотезы о значимом влиянии, а это означает, что "природный эффект" скорее около нуля, чем положительный.
То есть - вероятно, что экономические санкции могут оказаться неэффективными для целей, которые ставят перед собой страны, их вводящие.
#Sanctions
Зачастую ранее принимались отказы при рассмотрении таких вопросов.
https://www.rbc.ru/economics/06/09/2023/64f85ca69a79476f474467af?ysclid=lm8oener7535290388
#sanctions
Hungary lifts its veto, loan formally approved for Ukraine and 20th sanction package against russia.
[Read FullArticle]
@WorldNews#Ukraine#Russia#Sanctions
Russia faked economic data to appear more resilient to its war and sanctions, intel report says
[Read FullArticle]
@WorldNews#Russia#Sanctions#Geopolitics
🖊OPINION | US Imperialism Enters a New Stage: The Left Needs to Take a Close Look at It
Steve Ellner takes stock of a new stage of US imperialism and the role of the Left in challenging its advance.
The column states that US foreign policy has placed Iran, Venezuela, and Cuba in a “de facto state of war,” marked by sanctions, military measures, and enforcement actions. It cites the January 3, 2026 kidnapping of Venezuelan President Nicolás Maduro and Cilia Flores, alongside expanded US monitoring and interdiction of oil shipments.
At the same time, it argues that the Left must reassess its analysis, give greater weight to resistance against US aggression, and frame its criticism of governments within the context of sustained external pressure.
Read the full opinion piece here 👉🏽https://venezuelanalysis.com/opinion/us-imperialism-enters-a-new-stage-the-left-needs-to-take-a-close-look-at-it/
#Sanctions#USVenezuelaRelations
📸 IN IMAGES | Venezuela Begins ‘National Pilgrimage’ to Demand End to Sanctions
Venezuelan authorities have launched a nationwide “Great National Pilgrimage” to demand an end to US-led sanctions, beginning April 19 and spanning all 24 states. The initiative includes marches, assemblies, and cultural activities, with a final event scheduled in Caracas on April 30.
Government officials, including Delcy Rodríguez and Jorge Rodríguez, led opening mobilizations, while sectors of the moderate opposition also expressed support. According to the report, US sanctions (first intensified in 2017) have targeted key industries such as oil, contributing to an estimated $25 billion in annual revenue losses and limiting Venezuela’s access to international financial markets
Click here to explore the full gallery 👉🏽https://shorturl.at/DZmpu
#Sanctions#USVenezuelaRelations