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

Резултати

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

Пребарај: #screening

当前筛选 #screening清除筛选
郭子健Daniel Kwok Tsz Kin

@tsingyidan · Post #1100 · 11.06.2024 г., 14:59

《幸彤在監獄》 在愛丁堡放映! 由日本團體Asian Commons、英國律師團體「29原則」及東京大學阿古智子聯合出品的「後反送中紀錄片」《幸彤在監獄》(She’s In Jail),即將在 #蘇格蘭 接力放映。 這部紀錄片講述了 #鄒幸彤 的社運事蹟,從參與 #香港民主運動、支持中國維權運動,到堅持行使自身的 #公民權利,道出其捍衛自由及為爭取這種自由所需的集體努力。 #絕處逢生 的社會行動 #黑暗絕非黑暗,鄒幸彤的選擇和行動展示了面對不公時,個體如何通過集體抗爭來爭取權利和自由。她的故事,能否啟發我們在當前的社會和政治環境中,參與並捍衛普世價值和信仰? 誠邀身在蘇格蘭及英格蘭北部的您觀看! Coming soon to Edinburgh: ”She’s In Jail“ screening! Presented by Asian Commons and distributed by 29 Principles, the documentary ”She‘s In Jail“ tells the story of Tonyee Chow Hang-tung, an activist in the Hong Kong democracy movement. It shows how she fights for freedom and human rights and encourages collective efforts to achieve them. This film demonstrates how individuals can work together to fight for their rights and freedom, even in the face of injustice. Could Tonyee Chow’s story inspire us to stand up for universal values and beliefs in today‘s society and politics? We invite everyone to come and watch! 影片介紹 https://thechasernews.co.uk/讀者投稿|幸彤在監獄小燭光散落全球/ 活動詳情 / Details : 日期 / Date : 22/6/2024 (星期六/ Saturday) 時間 / Time : 6:04pm - 9:00pm (英國時間 / UK Time) 地點 / Venue : Corstorphine Community Church (Sports Hall ) 7 Glebe Terrace, Corstorphine, Edinburgh EH12 7SQ 語言 / Languages : 中文(粵語、華語)及英語附雙語字幕 / Mandarin, Cantonese and English with bilingual subtitles 名額 / capacity : 25 收費 / Charge : £8 per Person 報名 / Registration : https://Tonyee.eventbrite.co.uk 查詢 / Enquiries : [email protected] 注意事項: - 此片評為BBFC 12A (12歲以下需由成人陪同觀看) - 一人一票,不設劃位 - 主辦單位保留所有最終決定權 - 活動扣除成本後,收益將用以日後人權及民主活動之用 - #鄒幸彤#ChowHangTung#June4th#屠城#Massacre#HongKongers#documentary#film#screening#movie#HumanRights#煽動顛覆國家政權罪#拒絕遺忘#薪火相傳

《幸彤在監獄》 在愛丁堡放映! 由日本團體Asian Commons、英國律師團體「29原則」及東京大學阿古智子聯合出品的「後反送中紀錄片」《幸彤在監獄》(She’s In Jail),即將在 #蘇格蘭 接力放映。 這部紀錄片講述了 #鄒幸彤 的社運事蹟,從參與 #香港民主運動、支持中國維權運動,到堅持行使自身的 #公民權利,道出其捍衛自由及為爭取這種自由所需的集體努力。 #絕處逢生 的社會行動 #黑暗絕非黑暗,鄒幸彤的選擇和行動展示了面對不公時,個體如何通過集體抗爭來爭取權利和自由。她的故事,能否啟發我們在當前的社會和政治環境中,參與並捍衛普世價值和信仰? 誠邀身在蘇格蘭及英格蘭北部的您觀看! Coming soon to Edinburgh: ”She’s In Jail“ screening! Presented by Asian Commons and distributed by 29 Principles, the documentary ”She‘s In Jail“ tells the story of Tonyee Chow Hang-tung, an activist in the Hong Kong democracy movement. It shows how she fights for freedom and human rights and encourages collective efforts to achieve them. This film demonstrates how individuals can work together to fight for their rights and freedom, even in the face of injustice. Could Tonyee Chow’s story inspire us to stand up for universal values and beliefs in today‘s society and politics? We invite everyone to come and watch! 影片介紹 https://thechasernews.co.uk/讀者投稿|幸彤在監獄小燭光散落全球/ 活動詳情 / Details : 日期 / Date : 22/6/2024 (星期六/ Saturday) 時間 / Time : 6:04pm - 9:00pm (英國時間 / UK Time) 地點 / Venue : Corstorphine Community Church (Sports Hall ) 7 Glebe Terrace, Corstorphine, Edinburgh EH12 7SQ 語言 / Languages : 中文(粵語、華語)及英語附雙語字幕 / Mandarin, Cantonese and English with bilingual subtitles 名額 / capacity : 25 收費 / Charge : £8 per Person 報名 / Registration : https://Tonyee.eventbrite.co.uk 查詢 / Enquiries : [email protected] 注意事項: - 此片評為BBFC 12A (12歲以下需由成人陪同觀看) - 一人一票,不設劃位 - 主辦單位保留所有最終決定權 - 活動扣除成本後,收益將用以日後人權及民主活動之用 - #鄒幸彤#ChowHangTung#June4th#屠城#Massacre#HongKongers#documentary#film#screening#movie#HumanRights#煽動顛覆國家政權罪#拒絕遺忘#薪火相傳