Чтение и преобразование Linux ansi с использованием python - проблемы с кодировкой - PullRequest
0 голосов
/ 27 мая 2020

Ниже приведен фрагмент кода, который открывает nano и возвращает информацию, возвращаемая информация - это ansi в байтовом формате.

Я пытаюсь преобразовать ansi в строку, чтобы ее можно было преобразовать в html для моего использования в «веб-терминале», однако информация отсутствует, и это неправильно дает мне формат, которым я могу управлять для преобразования.

import pexpect
from ansi2html import Ansi2HTMLConverter

p = pexpect.spawn('nano cheese')
conv = Ansi2HTMLConverter()
while p.isalive():
 output = p.read_nonblocking(10000000)
 print(conv.convert(output.decode('utf-8')))

Запуск этого кода в python 3 вы увидите html, я продолжаю получать раздражающие проблемы с кодировкой, что означает, что я не получаю желаемый внешний вид (как показано на фото ниже)

enter image description here

Изображение выше - это код HTML, который не был преобразован, поскольку я предполагаю, что некоторые байты были испорчены при кодировании и не читаются.

Итак, мой вопрос: есть ли способ получить вывод p.read_nonblocking(10000000) из которых аналогично следующему изображению ниже, которое отображается как html (или что-то еще, что я могу показать в браузере), как если бы это само приложение.

enter image description here

желаемый приложение:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...