sendLine не будет отправлять целые числа (Twisted Python) - PullRequest
3 голосов
/ 21 сентября 2011

Я пишу MUD на Python, используя библиотеку Twisted. В настоящее время я пытаюсь отправить целое число через метод sendLine через модуль LineReceiver. Однако всякий раз, когда я пытаюсь отправить целое число, я получаю следующее сообщение об ошибке при запуске моей программы:

Unhandled Error
Traceback (most recent call last):
  File "C:\Python27\lib\site-packages\twisted\python\log.py", line 84, in
thLogger
    return callWithContext({"system": lp}, func, *args, **kw)
  File "C:\Python27\lib\site-packages\twisted\python\log.py", line 69, in
thContext
    return context.call({ILogContext: newCtx}, func, *args, **kw)
  File "C:\Python27\lib\site-packages\twisted\python\context.py", line 118
allWithContext
    return self.currentContext().callWithContext(ctx, func, *args, **kw)
  File "C:\Python27\lib\site-packages\twisted\python\context.py", line 81,
llWithContext
    return func(*args,**kw)
--- <exception caught here> ---
  File "C:\Python27\lib\site-packages\twisted\internet\selectreactor.py",
46, in _doReadOrWrite
    why = getattr(selectable, method)()
  File "C:\Python27\lib\site-packages\twisted\internet\tcp.py", line 460,
ead
    rval = self.protocol.dataReceived(data)
  File "C:\Python27\lib\site-packages\twisted\protocols\basic.py", line 56
dataReceived
    why = self.lineReceived(line)
  File "server.py", line 37, in lineReceived
    self.sendLine(level)
  File "C:\Python27\lib\site-packages\twisted\protocols\basic.py", line 62
sendLine
    return self.transport.write(line + self.delimiter)
exceptions.TypeError: unsupported operand type(s) for +: 'int' and 'str'

Строка, которая вызывает ошибку:

self.sendLine(SomeVarWhichIsANumber)

1 Ответ

5 голосов
/ 22 сентября 2011

так ... отправьте строку:

self.sendLine(str(SomeVarWhichIsANumber))
...