Paramiko erfasst die Befehlsausgabe

Ich habe ein Problem, das mir seit einigen Tagen Kopfschmerzen bereitet. Ich verwende das Paramiko-Modul mit Python 2.7.10 und möchte mehrere Befehle an einen Brocade-Router senden, aber nur die Ausgabe eines der angegebenen Befehle wie folgt zurückgeben:

#!/usr/bin/env python
import paramiko, time

router = 'r1.test.example.com'
password = 'password'
username = 'testuser'

ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(router, username=username, password=password)
print('Successfully connected to %s' % router)

remote_conn = ssh.invoke_shell()
output = remote_conn.recv(1000)

# Disable paging on Brocade.
remote_conn.send('terminal length 0\n')
# Check interface status.
remote_conn.send('show interfaces ethernet 0/1\n') # I only want output from this command.
time.sleep(2)
output = remote_conn.recv(5000)
print(output)

Wenn ich die vollständige Ausgabe ausdrucken würde, würde sie alles enthalten, was an den Router ausgegeben wird, aber ich möchte nur die Ausgabe der Show seheninterfaces ethernet 0/1\n Befehl

Kann jemand bei diesem Problem helfen?

Eine letzte Sache, die ich fragen möchte. Ich möchte durch das @ filteoutput Variable und auf Vorkommen von Strings wie "up" oder "down" prüfen, aber ich kann es nicht zum Laufen bringen, weil alles in der Ausgabe in neuen Zeilen zu stehen scheint?

Beispielsweise

Wenn ich über das @ iterieoutput Variable in einer for-Schleife Ich erhalte alle Zeichen in der Variablen wie folgt:

for line in output:
    print(line)

Ich erhalte eine Ausgabe wie diese:

t

e

r

m

i

n

a

l

l

e

n

g

t

h

0

Wie kann ich das umgehen?

Nochmal

ielen Dank im Voraus für jede Hilf

Freundliche Grüße

Aaron C.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage