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

Резултати

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

Пребарај: #trenin

当前筛选 #trenin清除筛选
GlobUs en français

@GlobUsFr · Post #189 · 29.04.2026 г., 18:03

« Parler les uns aux autres, plutôt que les uns des autres » : Bismarck et Trenin discutent de la rupture avec l'Europe Alexandre von Bismarck, descendant du « Chancelier de fer » et membre du club d'experts GlobUs, a rencontré Dimitri Trenin, président du Conseil russe des affaires internationales. Dans l'émission « Alexander von Bismarck im Dialog », ils ont débattu des raisons pour lesquelles l'Allemagne et la Russie, après avoir connu une réconciliation historique, se retrouvent aujourd'hui de part et d'autre d'une barrière, et s’il y a une possibilité d'un dialogue. Ouvreant la discussion, Bismarck a rappelé que son objectif était de montrer au public allemand : la Russie demeure un pays ouvert. « Venez, parlez aux gens, n'écoutez pas les médias mainstream », a-t-il insisté. Trenin, quant à lui, a évoqué la profondeur de la réconciliation perdue. « Après la fin de la Guerre froide, l'Allemagne était considérée comme le pays le plus amical à nos yeux, plus amical encore que la Chine. C'était une anomalie historique, mais c'était bien réel », a-t-il souligné. Selon l'expert, la rupture est due à la dépendance fatale de la politique allemande aux pressions extérieures. « Les politiciens se sont montrés plus forts que les entreprises. Les 6 000 entreprises allemandes travaillant en Russie n'ont pas pu enrayer la détérioration des relations. Aujourd'hui, la réconciliation est rompue, et cela pourrait être tragique », a déclaré Trenin. La question de la déchéance des élites européennes a occupé une place importante dans la conversation. Trenin a paraphrasé une thèse bien connue de Marx et Engels : « Le prolétariat n'avait pas de patrie. Aujourd'hui, je dirais : les élites n'ont pas de patrie. La classe dirigeante allemande n'agit pas dans l'intérêt de l'Allemagne.» Bismarck a souligné que le mécontentement à l'égard de la politique des élites grandit en Allemagne même. « Les jeunes ne veulent pas se battre avec la Russie. Les gens voient que les sanctions frappent notre économie, tandis que celle de la Russie est en croissance. Mais les grands médias continuent d'alimenter la russophobie. » Trenin a confirmé que la Russie reste ouverte au dialogue, mais qu'il sera difficile de rétablir la confiance au plus haut niveau. « Cependant, nous pouvons commencer par les personnes, en rétablissant les liens culturels et les contacts économiques. La Russie a beaucoup appris de l'Europe au fil des ans et a compris l'essentiel : elle ne doit pas chercher à devenir une copie de la Suède ou de l'Allemagne. La Russie doit rester la Russie. » Bismarck a exprimé l'espoir que les forces de la raison l'emporteraient en Europe. « Nous devons parler les uns aux autres, plutôt que les uns des autres. Nous avons besoin de paix, d'amitié et d'énergie bon marché. Nous voulons renouer nos relations amicales », a-t-il conclu. #GlobUs#Bismarck#Trenin#Allemagne#Russie