python3 - Невозможно преобразовать объект 'bytes' в str неявно

87
8

Я пытаюсь отправить список по сокетному соединению, но я нахожусь в Can't convert 'bytes' object to str ошибку.

while True:
try:
data = stream.read(CHUNK)
except IOError:
pass
else:
decoded = numpy.fromstring(data, dtype=numpy.float32)
i = json.dumps(decoded.tolist())
jsonDecoded = json.loads(i)
jsonS = "%s" % jsonDecoded
ws.send(jsonS)

Я также попробовал jsonS = "{}".format(jsonDecoded, 'utf-8') а также "".join(str(x) for x in jsonDecoded), что дает мне ту же ошибку. str(jsonDecoded, 'utf-8') тоже не работает.

Есть идеи?

Вот полный stacktrace

Traceback (most recent call last):
File "C:\Users\Bart\Dropbox\Redux\streaming\streaming\streamingdata.py", line 39, in <module>
ws.send(jsonS)
File "C:\Python33\lib\site-packages\websocket_client_py3-0.14.1-py3.3.egg\websocket\__init__.py", line 655, in send
return self.send_frame(frame)
File "C:\Python33\lib\site-packages\websocket_client_py3-0.14.1-py3.3.egg\websocket\__init__.py", line 674, in send_frame
data = frame.format()
File "C:\Python33\lib\site-packages\websocket_client_py3-0.14.1-py3.3.egg\websocket\__init__.py", line 340, in format
frame_header += struct.pack("!H", length)
TypeError: Can't convert 'bytes' object to str implicitly

спросил(а) 2014-06-13T13:46:00+04:00 6 лет, 1 месяц назад
1
Решение
68

Пакет не обновляется. Обновите последнюю версию из репозитория Github.

ответил(а) 2014-06-13T15:11:00+04:00 6 лет, 1 месяц назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема