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

Резултати

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

Пребарај: #dcstudios

当前筛选 #dcstudios清除筛选
Geex 👾

@GeexNoticias · Post #378 · 02.02.2023 г., 12:23

🟣 | Swamp Thing: James Mangold podría dirigir la película más terrorífica de #DCStudios Mangold es un veterano del cine basado en cómics después de escribir, dirigir y ser productor ejecutivo de una de las piezas más celebres del género, Logan, la tercera película de la saga de Lobezno protagonizada por Hugh Jackman, así como de otras entregas relacionadas con el mutante. Pronto estrenará 'Indiana Jones y el Dial del Destino', que llegará a los cines en mayo Swamp Thing sería su nuevo proyecto, algo que sucede apenas 24 horas después del reinicio de DC Studios y su universo,

Hashtags

Geex 👾

@GeexNoticias · Post #373 · 02.02.2023 г., 11:48

James Gunn habla sobre el futuro de Gal Gadot y Ezra Miller en #DCStudios Aunque conozcamos ya las primeras películas y series que veremos en ese arranque de la nueva DC de Warner Bros. Discovery, de momento no conocemos quiénes serán los actores que den vida a los nuevos protagonistas, es decir: quién será el nuevo Superman, quién se meterá en el traje del nuevo Batman, etc. James Gunn aseguró que la anterior historia del universo DC "había sido una mierda", puesto que era inconexo y confuso. El cineasta ha ido despejando dudas de los fans poco a poco con respecto a este reboot, y ha abordado también qué pasará con Gal Gadot y Ezra Miller después de hablar sobre que paso con Henry Cavill y que papel jugará Jason Momoa

Hashtags

Geex 👾

@GeexNoticias · Post #374 · 02.02.2023 г., 11:51

Gal Gadot tiene la puerta abierta a continuar como #WonderWoman y Ezra Miller está pendiente de estrenar #TheFlash "Espero con ansias los nuevos proyectos, pero estoy decepcionado con que hayáis perdido a Henry Cavill y Gal Gadot y todavía tengáis a Ezra cerca. Es un cabeza hueca, y Henry y Gal lo han hecho todo bien. Simplemente no tiene sentido", comentaba un seguidor a James Gunn en Instagram A lo que el cineasta respondió: "No hemos perdido a Gal. La película de Ezra ya está hecha. Y Henry no encaja con mi Superman". ¿Qué quiere decir exactamente esto? Que Gal Gadot tiene la puerta abierta de par en par a continuar siendo Wonder Woman en el reboot y que Ezra Miller tiene que seguir, de momento, en #DCStudios debido a que tiene pendiente el estreno de The Flash, filme que reiniciará el DC cinematográfico por completo y dará paso a Dioses y Monstruos.