我每天都使用paramiko备份不同的网络设备。每个设备需要不同的时间间隔才能登录到该设备,并且还需要不同的时间来完成每个命令。因此,如果我将time.sleep()保留为静态时间值,则有时等待的时间更多,而有时等待的时间则更少。因此,我如何编写程序以等待第一个命令执行,然后再转到下一个命令,而不管time.sleep值如何。
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(ip, port='22', username=usr_name, password=pwd)
connection = ssh.invoke_shell()
connection.send("\n")
time.sleep(14)
connection.send("enable\n")
time.sleep(3)
connection.send("%s\n" %(pwd))
time.sleep(1)
connection.send("terminal length 0\n")
time.sleep(1)
connection.send("sh int status | ex (trunk|routed)\n")