Проблема Python 3 Pexpect — spawnu: ошибка UnicodeDecodeError: кодек ‘utf-8’ не может декодировать байт 0xff в позиции 273: недопустимый начальный байт

#utf-8 #character-encoding #python-3.3 #pexpect

#utf-8 #кодировка символов #python-3.3 #pexpect

Вопрос:

У меня возникла проблема при использовании spawnu (UTF-8) из модуля Pexpect для Python 3 во время сеанса SSH, когда удаленный компьютер отвечает следующими символами в выходных данных:

 ÿÿÿÿ
  

Вот ошибка, которую я получил:

 UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 273: invalid start byte
  

Когда я добавляю interact() in до получения входных данных, все проходит нормально, поэтому я считаю, что проблема связана с spawnu.

Я ищу обходные пути или альтернативные методы.

Ответ №1:

добавить codec_errors='ignore' после кодирования

что-то вроде:

 proc = pexpect.spawn(command, timeout=timeout, maxread=maxread, logfile=context.log, encoding='utf-8', codec_errors='ignore')