Требуется байтоподобный объект, а не 'str' (не отправляется в dataOutput) - PullRequest
0 голосов
/ 26 марта 2020

Я автоматизировал некоторые из них, и у меня возникла проблема при переходе с 2.7 на 3.7. Код такой, как показано

def writeDataToOutput(dataOutput):
  global myUartPort
  global mySocket
  if (m_UseRTT):
    try:
      mySocket.sendall(dataOutput)
    except socket.error:
      print('Send failed')
  else:
    myUartPort.write(dataOutput)

И при запуске я получаю это сообщение об ошибке

Traceback (most recent call last):
  File "monkeytest.py", line 1324, in <module>
    executeScript()
  File "monkeytest.py", line 1255, in executeScript
    if executeCommandLine(line) == 0:
  File "monkeytest.py", line 1159, in executeCommandLine
    executeCommand(commandPayload, 1, 1)
  File "monkeytest.py", line 587, in executeCommand
    writeDataToOutput(command + "\r\n")
  File "monkeytest.py", line 309, in writeDataToOutput
    mySocket.sendall(dataOutput)
TypeError: a bytes-like object is required, not 'str'

Я не вижу неправильный в моем методе, я попытался sendto () без какого-либо успеха.

...