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

Пребарај: #hksa

当前筛选 #hksa清除筛选
港島西。Channel

@islandwest84 · Post #39364 · 10.08.2022 г., 16:56

最近有唔少家長問:「16歲以上嘅學生可以點樣升學?」「點樣部署升大學嘅問題?」為咗方便解答大家嘅問題,我哋邀請咗教育顧問、大學生同埋Sixth former ,向大家解釋升學同埋生活嘅問題。 今次網上講座適合準備移民英國嘅學生及其家長,內容包括中學大學嘅入學問題、校園生活、學業壓力等等嘅問題。 日期 8月20日 時間 Time 2000-2130(香港時間 HKT) 平台 Microsoft Teams 語言 廣東話 講者 Speaker Jordan Lai: Education Consultant Chloe Kwan: Student at the University of Cambridge Nicholas: Sixth former Registration https://www.eventbrite.co.uk/e/16-tickets-388262823557 #webinar#hksacic#student#hksa#香港學生同盟

辯論,是愈辯愈明。 有見香港人的討論地方主要為匿名網上討論,加上愈具爭議性的話題,討論愈偏激,導致討論氣氛極差。尤其當今科技發達,人與人之間的距離以電話分隔,相隔一個屏幕的討論經常導致誤會和言語暴力。 匿名討論不能團結香港人,我們認為有必要推廣辯論,以改善討論風氣。希望香港人能夠走出網絡,面對面討論,比起匿名討論更有效地明辯是非。 HKSAcic 現推出第一屆 - 海外港人辯論比賽。比賽語言為粵語,並分為少年和大學組,如資源和人手許可則另設公開組。決賽將於1月28日,在英國實體舉行,以支持每年1月26日的「香港日」。比賽費用£50,部分團體可享八折優惠,希望各界能夠籌組辯論隊以機構名義參與比賽。 初賽到準決賽將會使用discord 應用程式進行比賽,決賽將會在英國某大城市舉行。 比賽將於8月9日開放報名,請留意我們專頁的最新資訊。活動詳情請掃描宣傳圖中QR code ,或上 linktr.ee/hksauk 查閱。因人手和交通問題,本屆比賽未能接受英國以外地區人士參與。 我們歡迎教會、公司和大學社團等合作和支持比賽,如有興趣提供場地或贊助,請聯絡我們email: [email protected] 或pm我地社交平台。 #hksacic#student#hksa#香港學生同盟#debate#chinesedebate#海外港人辯論比賽#ohkdc#辯論比賽#辯論#香港