Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 20, 2013 15:37:01

ivpo
Зарегистрирован: 2013-11-20
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Вопрос про struct.unpack

Добрый день

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

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

Никак не могу понять…

Офлайн

#2 Ноя. 20, 2013 20:57:57

Budulianin
От:
Зарегистрирован: 2011-10-18
Сообщения: 1218
Репутация: +  33  -
Профиль   Отправить e-mail  

Вопрос про struct.unpack

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

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

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

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

Доку читай, ага



Отредактировано Budulianin (Ноя. 20, 2013 22:07:49)

Офлайн

#3 Ноя. 20, 2013 21:48:03

ivpo
Зарегистрирован: 2013-11-20
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Вопрос про struct.unpack

Никак не могу понять:

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

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

?

Заранее спасибо!

Офлайн

#4 Ноя. 20, 2013 21:52:42

Budulianin
От:
Зарегистрирован: 2011-10-18
Сообщения: 1218
Репутация: +  33  -
Профиль   Отправить e-mail  

Вопрос про struct.unpack

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

А вывести и посмотреть, не можешь? и потом в type обернуть



Офлайн

#5 Ноя. 20, 2013 22:40:42

ivpo
Зарегистрирован: 2013-11-20
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Вопрос про struct.unpack

Каким образом посмотреть?
Я просто в Питоне ноль. В c++ хоть что-то могу…

Офлайн

#6 Ноя. 20, 2013 22:49:14

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Вопрос про struct.unpack

Budulianin
имхо. видно же что человеку ivpo достался скрипт который он пытается перевести нс С++, так как питон для него неизвестно что, а с С++ он знаком.

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



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#7 Ноя. 21, 2013 08:40:38

Budulianin
От:
Зарегистрирован: 2011-10-18
Сообщения: 1218
Репутация: +  33  -
Профиль   Отправить e-mail  

Вопрос про struct.unpack

JOHN_16
Budulianin
имхо. видно же что человеку ivpo достался скрипт который он пытается перевести нс С++, так как питон для него неизвестно что, а с С++ он знаком.

Это что-то поменять должно ?



Офлайн

#8 Ноя. 21, 2013 22:36:43

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Вопрос про struct.unpack

Budulianin

Budulianin
А вывести и посмотреть, не можешь? и потом в type обернуть
ivpo
Каким образом посмотреть?
вот это предвещательно) а так в общем то нет…итак разжевываем все



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version