Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 11, 2009 11:55:26

Lam
От:
Зарегистрирован: 2008-12-20
Сообщения: 94
Репутация: +  0  -
Профиль   Отправить e-mail  

Изменение пакета

По делу,

if (ord(tmp[1]) == 242) and (ord(tmp[2]) == 28):
tmp[28] = chr(speed)
выдает:
    tmp[28] = chr(speed)
TypeError: object doesn't support
item assignment
это мне вместо chr что надо использовать, вобще что за строка tmp это строка символов или чего?(tmp - принял с сервера)



Офлайн

#2 Янв. 11, 2009 13:29:16

Lam
От:
Зарегистрирован: 2008-12-20
Сообщения: 94
Репутация: +  0  -
Профиль   Отправить e-mail  

Изменение пакета

Поправил код:

 tmp1 = tmp[0:27] + chr(speed) + tmp[29:len(tmp)-1]
conn.send(tmp1)
почему то tmp1 получилось на два байта короче чем tmp?



Офлайн

#3 Янв. 11, 2009 13:36:43

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

Изменение пакета

Lam
TypeError: object doesn't support 
item assignment
Он же тебе английским языком говорит: не поддерживают строки модификацию, хочешь менять побайтно преобразуй в массив



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

#4 Янв. 11, 2009 13:38:42

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

Изменение пакета

Lam
Поправил код:
 tmp1 = tmp[0:27] + chr(speed) + tmp[29:len(tmp)-1]
conn.send(tmp1)
почему то tmp1 получилось на два байта короче чем tmp?
потому что у тебя пропали 27 и последний байт строки
почитай уже доки в самом деле



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Отредактировано (Янв. 11, 2009 13:39:03)

Офлайн

#5 Янв. 11, 2009 13:47:48

Lam
От:
Зарегистрирован: 2008-12-20
Сообщения: 94
Репутация: +  0  -
Профиль   Отправить e-mail  

Изменение пакета

Ну читал я доки, если я в них них не понимаю, первый байт в строке равен tmp, вот и делал аналогично…



Офлайн

#6 Янв. 11, 2009 13:51:34

Lam
От:
Зарегистрирован: 2008-12-20
Сообщения: 94
Репутация: +  0  -
Профиль   Отправить e-mail  

Изменение пакета

Спасибо, поправил)



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version