stdin,stdout,stramr在paramiko

时间:2018-01-02 12:49:56

标签: python paramiko

stdin, stdout, stderr = client1.exec_command('show version')
stdin, stdout, stderr = client1.exec_command('show interfaces ge-0/0/10')
stdin, stdout, stderr = client1.exec_command('show chassis routing-engine')
print stdout.read()

上述脚本仅为最后一个命令('show chassis routing-engine')提供输出。如果我没有错,上面的2行输出被最后一个命令覆盖。但是如何使用一条打印线打印所有3个命令的输出?

1 个答案:

答案 0 :(得分:2)

您必须将输出存储在某处。像:

stdout_outputs = []

stdin, stdout, stderr = client1.exec_command('show version')
stdout_outputs.append(stdout.read())
stdin, stdout, stderr = client1.exec_command('show interfaces ge-0/0/10')
stdout_outputs.append(stdout.read())
stdin, stdout, stderr = client1.exec_command('show chassis routing-engine')
stdout_outputs.append(stdout.read())

print '; '.join(stdout_outputs)