Найти - Пользователи
Полная версия: Вопрос про struct.unpack
Начало » Python для новичков » Вопрос про struct.unpack
1
ivpo
Добрый день

Подскажите пожалуйста, что делает вот этот оператор:

image_len = struct.unpack('<L', connection.read(4))

Никак не могу понять…
Budulianin
ivpo
Добрый деньПодскажите пожалуйста, что делает вот этот оператор:image_len = struct.unpack('<L', connection.read(4))Никак не могу понять…

Это не оператор, а функция

она преобразовывает байты в типы данных Python. Ты указываешь, как их преобразовать<L(порядок байтов от младшего к старшему, little-endian ) байты, которые отдаёт метод read(4), у connection

Видимо ты подключился к чему-то, тебе отдали байты в connection, ты их вытаскиваешь через read и теперь нужно преобразовать байты в тип Python, чтобы работать с информацией

Доку читай, ага
ivpo
Никак не могу понять:

1) Какой тип возвращает connection.read(4)? Массив из 4 байт?
2) Какой аналог есть на С++ вот у этой вот строчки:

image_len = struct.unpack('<L', …..)

?

Заранее спасибо!
Budulianin
ivpo
Какой тип возвращает connection.read(4)? Массив из 4 байт?

А вывести и посмотреть, не можешь? и потом в type обернуть
ivpo
Каким образом посмотреть?
Я просто в Питоне ноль. В c++ хоть что-то могу…
JOHN_16
Budulianin
имхо. видно же что человеку ivpo достался скрипт который он пытается перевести нс С++, так как питон для него неизвестно что, а с С++ он знаком.

ivpo
1)вам сказали читайте доку, но вы ленитесь. Ай ай ай, какое некрасивое поведение, потому что в доках есть простая табличка, которая говорит что во что преобразовывается. А именно L как unsigned long в Python будет integer, потому что в питоне несколько другие типы данных, отличные от С/С++
2)не являюсь С/С++ программистом, но предположу что таже scanf или подобные ей делает это?
Budulianin
JOHN_16
Budulianin
имхо. видно же что человеку ivpo достался скрипт который он пытается перевести нс С++, так как питон для него неизвестно что, а с С++ он знаком.

Это что-то поменять должно ?
JOHN_16
Budulianin
Budulianin
А вывести и посмотреть, не можешь? и потом в type обернуть
ivpo
Каким образом посмотреть?
вот это предвещательно) а так в общем то нет…итак разжевываем все
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB