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

Резултати

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

Пребарај: #newsarchitecture

当前筛选 #newsarchitecture清除筛选

The RKM 740 Tower. Architecture studio J Mayer H has completed a mixed-use tower in Düsseldorf, Germany, with profiled metal cladding that opens up like a zipper to provide views through its glazed facades. J Mayer H won an international competition in 2011 to design the tower, which contains several medical facilities and apartments on the former grounds of the Dominikus-Krankenhaus hospital. #architecture#arch_shovel#archdaily#NewsArchitecture

Silicon Valley. Nearly 10 years in the making and the team of 1000+ designers, inventors, programmers, & builders can finally celebrate Google’s first ground-up campus! ⠀ Architecture: BIG Location: Silicon Valley, California #arch_shovel#architecture#NewsArchitecture#big

Bridge of spheres. A futuristic bridge will appear in the Moscow City business center. The project was developed by the chief architect of Moscow Sergey Kuznetsov and architect Dmitry Sukhov. #arch_shovel#architecture#NewsArchitecture#Кузнецов_проекты

Vltava Philharmonic Hall by Mecanoo. The competition entry of Vltava Philharmonic Hall, a new musical and cultural center located in the heart of Prague. Architecture: Mecanoo collaboration with Chybik+Kristof Image: by Plo.mp, Mangoshake studio and Mecanoo #NewsArchitecture#News#Architecture#arch_shovel#competition

The proposal for the Philharmonic Hall in Prague by Henning Larsen. The new Prague Vltava Philharmonic will be the perfect ‘instrument’ - an expression of this place - realized in a new artistic language. Its cresting spires play in harmony with the towers, turrets, steeples and spires that grace the tapestry of the city’s roofscape. Architecture: Henning Larsen #danisharchitecture#arch_shovel#NewsArchitecture#competititon#architecture

Philharmonic Hall in Prague by Ludgaard & Tranberg. Ludgaard & Tranberg’s design proposal created in collaboration with Cobe Architects for the Vlatava Philharmonic Hall in Prague. Music, art, architecture, the city and the audience converge in a concert hall that extends its vibrations far beyond the site by the river Vltava. Architecture: Ludgaard & Tranberg & Cobe Architects Acoustics: Gade & Mortensen Akustik Consultation: Tyrens #danisharchitecture#arch_shovel#NewsArchitecture#competititon#architecture

The project of a new residential complex in Moscow was approved. The main design element is small balconies, which resemble a skin of the fantastic animal. Architecture: “LABVA PRO” LTD bureau and “Architectural Bureau of Katerina Gren”. #arch_shovel#architecture#moscow#residential#complex#new#NewsArchitecture

The Vltava Philharmonic Hall. The new Vltava Philharmonic will be built by the Danish architectural studio Bjarke Ingels Group (BIG). BIG plans to complete the new building in 2032. “The Vltava Philharmonic Hall is composed as a meandering journey from riverbank to rooftop. Public flows and belvedere plazas unite the city life of Prague to the music within. Its halls are formed for sight, fine-tuned for sound, and orchestrated for functionality and connectivity. From this rhythmic structure, a symphony of colonnades and balconies extend as platforms for public life. Expressive yet pragmatic, the new Philharmonic will ascend to form a key landmark for Prague - from river to roof.” Bjarke Ingels, Founder & Partner, BIG. #arch_shovel#conpetition#award#cultural#BIG#news#NewsArchitecture

The Shanghai Lingang Special Area master plan. Design: Ennead Architects Location: Shanghai, China Ennead Architects has designed the Shanghai Lingang Special Area master plan (a new hub for global commerce) around the central axis that defines the Dishui Lake district in Shanghai. One of the key features of the Shanghai Lingang Special Area will be “The Ring”. This circular, cantilevered observation deck, and museum will afford 360-degree views of nearby Dishui Lake, Shanghai and the Pacific Ocean. The two towers flanking the Ring (The Tower Waterfall and Tower Rhomboid) are designed to become two of the most easily recognizable features of the new business district. Similar in scale, the towers have distinct identities. #Architecture#arch_shovel#NewsArchitecture#News#Shanghai#China#Masterplan#CityPlanning#OfficeBuilding#CommercialArchitecture#UrbanDistrict#UrbanDesign