【发布时间】:2016-11-06 21:26:13
【问题描述】:
我有一个 telnet 路由器的脚本,如果它不能 ping 8.8.8.8 来重启路由器,但我不希望它连续重启路由器超过 3 次。 如果它在 3 次后无法 ping 8.8.8.8,我希望它继续 ping 8.8.8.8,直到它再次恢复并重新开始。
import subprocess
output = subprocess.call('ping 8.8.8.8', shell=True)
while output == 0:
output = subprocess.call('ping 8.8.8.8', shell=True)
else:
import telnetlib
import datetime
now = datetime.datetime.now()
host = "912.168.1.1" # your router ip
username = "name" # the username
password = "password"
filename_prefix = "cisco-backup"
tn = telnetlib.Telnet(host)
tn.read_until("Username:")
tn.write(username+"\n")
tn.read_until("Password:")
tn.write(password+"\n")
tn.write("reload"+"\n")
tn.write("y"+"\n")
enter code here
我只是这方面的新手,我不知道如何让 else 语句连续重复三次。
【问题讨论】:
-
else后面需要一个循环。但是,如果您没有break,则在while循环上添加else毫无意义。else是多余的。