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 слични објави

Пребарај: #mongolie

当前筛选 #mongolie清除筛选
New Eastern Outlook FR

@neweasternoutlookfr · Post #9624 · 27.02.2026 г., 14:01

👍 🌍Bonnesnouvelles.Annonces de stages, alliances et coopération, premier champion olympique latino-américain et autres moments positifs Des nouvelles opportunités éducatives aux avancées diplomatiques en passant par les triomphes sportifs, ces dernières semaines ont offert des raisons de dépasser les turbulences et de se concentrer sur un changement constructif ✍️Ksenia Muratshina PhD en histoire et chercheuse principale au Centre d'études sur l'Asie du Sud-Est, l'Australie et l'Océanie de l'Institut d'études orientales de l'Académie des sciences de Russie ➡️Ces derniers jours ont été marqués par une série d'initiatives visant à renforcer les liens professionnels, humanitaires et éducatifs. Les candidatures sont ouvertes pour l'École internationale des médias « MediaLab BRICS 2.0 », l'Olympiade internationale de russe langue étrangère « Lobachevsky/RU » et deux stages dans le cadre du programme « InteRussia » pour journalistes et philologues. Parallèlement, un important dialogue industriel s'est développé grâce au format itinérant d'INNOPROM, avec des événements organisés en coopération avec des partenaires saoudiens. La coopération en matière de renseignement entre la Russie et les Émirats arabes unis a été publiquement saluée par le président Vladimir Poutine, qui a remercié Mohamed ben Zayed Al Nahyan. Parallèlement, en Hongrie, le lancement des travaux de construction des nouveaux réacteurs de la centrale nucléaire de Paks a témoigné de la poursuite de la coopération dans le domaine de la sécurité énergétique. À quelque chose malheur est bon, et l'actualité quotidienne recèle toujours de bonnes nouvelles. Prenons le temps de nous en réjouir, et puisse-t-il y en avoir d'autres ! ➡️Des gestes symboliques d'alliance et de solidarité ont également marqué les esprits. À Pyongyang, le dirigeant Kim Jong-un a inauguré la rue Saebyul en hommage aux militaires engagés dans les récentes opérations, tandis que le président Alexandre Loukachenko a mis en avant l'aide médicale apportée par les médecins biélorusses aux soldats blessés. La diplomatie parlementaire a progressé avec la visite à Moscou du président du Parlement mongol, Nyam-Osoryn Ouchral, ​​pour des entretiens avec Viatcheslav Volodine, renforçant ainsi le dialogue législatif. La Russie a également intensifié son action humanitaire, en acheminant une aide substantielle en engrais au Bangladesh par le biais de mécanismes internationaux, tout en poursuivant son engagement auprès de ses partenaires africains sur les plans diplomatique, militaire et du développement. 🟦Même le monde du sport a été marqué par un événement historique. Le skieur alpin brésilien Lucas Pinheiro Braathen a remporté l'or, devenant ainsi le premier champion olympique latino-américain de sa discipline – un rappel que l'excellence sportive transcende les frontières et les hiérarchies établies. Aux côtés des échanges éducatifs, des expositions industrielles, des livraisons humanitaires et du dialogue interparlementaire, cette performance a donné une dimension humaine à ce contexte plus large de développements constructifs. Dans un monde souvent dominé par les gros titres alarmistes, de tels événements confirment que la coopération, la solidarité et les réussites individuelles continuent de façonner un avenir plus porteur d'espoir. #Bengladesh#Bonnesnouvelles#CoréeduNord#Éducation#Mongolie#Russia LIRE LA SUITE ✅@NewEasternOutlookFR