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

Пребарај: #scythians

当前筛选 #scythians清除筛选
R1a-Z93

@r1az93 · Post #1494 · 01.08.2024 г., 17:47

"آماده سازی برای دفن". فرهنگ پازیریک ، قرن چهارم قبل از میلاد ، پنجمین بارو پازیریک. پنجمین بارو پازیریک بخشی از یک گروه هشت بارو در دره رودخانه بولشوی اولاگان در کوه های آلتای است. پنجمین بارو با مجموعه ای از چیزها ثروتمندترین آنها است و توسط S. I. Rudenko در سال 1949 حفاری شد. زیر خاکریز سنگی به ارتفاع 4 متر و قطر 42 متر یک گودال قبر به عمق 4 متر و مساحت 55 متر مربع وجود داشت. گودال توسط دو چوب پوشانده شده بود. بین آنها یک لایه سنگ به وزن مجموع 3 تن بود. اتاق دفن به شکل یک کابین چوبی دوگانه سه ستون پشتیبانی در دیوارهای شمالی و جنوبی داشت که وزن را محدود می کرد. بعد از اینکه سارقان باستانی تخته های چوبی و سقف دوگانه را قطع کردند ، آب شروع به نفوذ به اتاق کرد. با شروع زمستان ، یخ زد و به لطف شیب سنگی ، در تابستان آب نشد. این یک لنز یخ زیر تپه ایجاد کرد که اشیاء ساخته شده از مواد آلی را حفظ می کرد ، از جمله مومیایی های مرحوم. در قسمت شمالی گودال دفن ، 9 اسب پیدا شد: 5 اسب سوار و 4 اسب مهار. در کنار اسب های مهار ، یک ارابه 4 چرخ با شعاع ، که هیچ مکانیسم چرخشی نداشت ، که در آن چهار اسب در یک سونامی مهار شدند ، از هم پاشیده شده بود. در این واگن همسر رئیس به دنیای بعدی رفت ، زمانی که برای رئیس خود اسب سواری آماده شد. در پنجمین بارو پازیریک در یک چوب سارکوفاگ 5 متری ، اجساد مومیایی شده رئیس و همسرش قرار داشت. مرد حدود 55 سال سن داشت ، قدش 176 سال بود. به طور کلی ، اشراف پازیریک 170-180 سانتی متر قد داشتند. مردان معمولی پازیریک با رشد پایین تر ، به طور متوسط 164 سانتی متر مشخص شدند. در بخش عمده ای از عشایر آلتای قفقاز از نوع "شمالی" بودند ، موهای روشن (از قهوه ای و بلوند تیره تا بلوند) و چشم های روشن داشتند ، این نیز توسط انسان شناسی جمجمه ها نشان داده می شود (بله ، هر نوع نژادی دارای رنگدانه خاصی از چشم ، مو و رنگ پوست است) و قطعات حفظ شده مو در مومیایی ها. اما اغلب ، حتی در میان اشراف ، قفقاز با ویژگی های مغولویی وجود دارد ، که با ازدواج خارجی و ازدواج های سلسله ای با زنان دیگر قبایل غیر اسکیتی همراه است. "Подготовки к погребению". Пазырыкская культура, IV век до н.э., Пятый Пазырыкский курган. Пятый Пазырыкский курган входит в группу из восьми курганов в долине реки Большой Улаган в Горном Алтае. Пятый курган самый богатый из них по набору вещей и был раскопан С.И. Руденко в 1949 году. Под каменной насыпью высотой 4 метра и диаметром 42 метра находилась могильная яма глубиной 4 метра площадью 55 кв. м. Яму перекрывали два наката из брёвен. Между ними был слой камней общим весом 3 тонны. Погребальная камера в виде двойного сруба имела три опорных столба у северной и южной стен, которые сдерживали этот груз. После того, как древние грабители прорубили бревенчатый накат и двойной потолок, вода стала просачиваться в камеру. С наступлением зимы она промерзала и, благодаря каменному откосу, не оттаивала летом. Благодаря чему под курганом образовалась ледяная линза, сохранившая предметы из органических материалов, включая мумии покойных. В северной части могильной ямы обнаружили 9 лошадей: 5 верховых и 4 упряжных. Рядом с упряжными в разобранном виде лежала 4-х колёсная повозка со спицами, которая не имела поворотных механизмов, в которую цугом запрягали четверку лошадей. На этой повозке жена вождя отправлялась в мир иной, когда для самого вождя были подготовлены верховые кони. В Пятом Пазырыкском кургане в колоде-саркофаге длиною 5 м. лежали мумифицированные тела вождя и его жены. Мужчина был европпеоидом примерно 55 лет, ростом 176. В целом, пазырыкская аристократия была ростом 170-180 см. Рядовые пазырыкские мужчины отличались более низким ростом, в среднем 164 см. В основной своей массе алтайские кочевники были европеоидами "северного" типа, имели светлые волосы (от каштановых и темно-русых до блонда) и светлые глаза, на это также указывает антропология черепов (да, каждому расовому типу присуща определенная пигментация глаз, волос и тона кожи) и сохранившиеся фрагменты волос у мумий. Но нередко, даже среди знати встречаются европеоиды с монголоидными чертами, что связано с экзогамией и династическими браками с женщинами других нескифских племён. #scythians#indoeuropean#скифы#индоевропейцы Kār-nāmag ī Āryān | Подписаться👑