Сохраните форматирование (пробелы и новые строки) ответа, полученного при выполнении команды через ssh

Я пишу заявку в Python, Я использую pexpect (более конкретно pxssh функциональность) для выполнения серии команд на маршрутизаторе Cisco. Я хочу сохранить выходные данные, возвращенные в переменную без изменений whitespaces и newlines,

s = pxssh.pxssh(options={
        "StrictHostKeyChecking": "no",
        "UserKnownHostsFile": "/dev/null"})

После входа в систему и выполнения соответствующей команды я сохраняю результат в словаре:

data[command]=repr(s.before)

repr возвращается /n и /r отлично, однако whitespaces не хватает.

В качестве примера печати (s.before) возвращается, как показано ниже.

Снимок печати (с. До

Однако с repr лучшее, что я могу получить (и, следовательно, формат), как показано ниже:

снимок при использовании repr

Где whitespaces и форматирование потеряно.

PS: я не могу писать и читать файлы. Любая помощь приветствуется.

1 ответ

Решение

Насколько я понимаю, вы пытаетесь сохранить строку Python (с \n и пробелами) и вставить ее в некоторый html.

Если у вас возникли проблемы с представлением HTML, оберните строку в <pre> тег для сохранения форматирования (включая пробелы). Это не проблема с Python (опять же, насколько я понимаю), вы можете проверить это, напечатав вашу переменную или посчитав пробелы внутри Python

Другие вопросы по тегам