Как быстро обрабатывать большие выходные данные Netmiko?Python

Программы на Python
Ответить
Anonymous
 Как быстро обрабатывать большие выходные данные Netmiko?

Сообщение Anonymous »

Я пытаюсь получить список VPN с устройства в нашей сети. Этот список очень длинный и не возвращается полностью без дальнейшего ввода. Есть ли способ быстро получить полный список без зацикливания и повторной отправки команды ввода через ssh-соединение?

Я пытался использовать команду отправки, но время ожидания истекло, поскольку конечные символы вместо ожидаемого. send_command_timing не истекает по тайм-ауту, а возвращает лишь небольшую часть всего списка с завершающим текстом , показывающим, что я получил не все. В настоящее время я повторяю цикл, используя send_command_timing, чтобы получить следующую строку, а затем удаляю строку из вывода. Проблема в том, что этот метод очень медленный и его невозможно использовать в реальной жизни.

Код: Выделить всё

from netmiko import ConnectHandler

device = {
'device_type': 'cisco_ios',
'host': "example.host",
'username': "user",
'password': "pass",
}
trailingString = ""

connect = ConnectHandler(**device)

print("Connection complete")

connect.send_command("enable 3" + '\n', expect_string="Password:")
connect.send_command("pass" + '\n', expect_string="#")

output = connect.send_command_timing("sho vpn-sessiondb svc")

while trailingString in output:
if(output.endswith(trailingString)):
output = output[:-(len(trailingString) + 1)] # Added + 1 to remove the trailing newline
output += connect.send_command_timing("\n")

print(output)
connect.disconnect()
Мне не удалось найти решение, которое будет получать весь вывод функции send_command_timing достаточно быстро, чтобы его было разумно использовать. Я ожидаю, что существует лучший/более быстрый способ получить эту информацию.


Подробнее здесь: https://stackoverflow.com/questions/569 ... ko-quickly
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»