Обработка вывода Python-сокета recv - PullRequest
6 голосов
/ 27 марта 2009

Извиняюсь за вопрос о noob Python, но я застрял над этим слишком долго.

Я использую python-сокеты для получения некоторых данных с сервера. Я делаю это:


data = self.socket.recv(4)
print "data is ", data
print "repr(data) is ", repr(data)

Вывод на консоль такой:

данные
repr (данные): '\ x00 \ x00 \ x00 \ x01'

Я хочу превратить эту строку, содержащую, по существу, 4-байтовое число, в целое число - или фактически, что будет длинным в C. Как я могу превратить этот объект данных в числовое значение, которым я могу легко управлять?

1 Ответ

10 голосов
/ 27 марта 2009

Вы, вероятно, хотите использовать struct .

Код будет выглядеть примерно так:

import struct

data = self.socket.recv(4)
print "data is ", data
print "repr(data) is ", repr(data)
myint = struct.unpack("!i", data)[0]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...