Найти - Пользователи
Полная версия: Изменение пакета
Начало » Python для новичков » Изменение пакета
1 2 3
Lam
По делу,
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 - принял с сервера)
Lam
Поправил код:
 tmp1 = tmp[0:27] + chr(speed) + tmp[29:len(tmp)-1]
conn.send(tmp1)
почему то tmp1 получилось на два байта короче чем tmp?
PooH
Lam
TypeError: object doesn't support 
item assignment
Он же тебе английским языком говорит: не поддерживают строки модификацию, хочешь менять побайтно преобразуй в массив
PooH
Lam
Поправил код:
 tmp1 = tmp[0:27] + chr(speed) + tmp[29:len(tmp)-1]
conn.send(tmp1)
почему то tmp1 получилось на два байта короче чем tmp?
потому что у тебя пропали 27 и последний байт строки
почитай уже доки в самом деле
Lam
Ну читал я доки, если я в них них не понимаю, первый байт в строке равен tmp, вот и делал аналогично…
Lam
Спасибо, поправил)
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