J'ai un script pour le routeur telnet et s'il ne peut pas ping 8.8.8.8 pour redémarrer le routeur, mais je ne veux pas qu'il redémarre le routeur plus de trois fois de suite. S'il ne parvient pas à pinger le 8.8.8.8 après trois fois, je veux qu'il continue de faire un ping jusqu'à 8.8.8.8 jusqu'à ce qu'il revienne et recommence tout recommencer.Python: Comment faire en sorte que l'instruction else s'exécute x fois?
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
Je suis seulement nouveau à cela et je ne sais pas comment obtenir l'instruction else à répéter seulement trois fois de suite.
Vous avez besoin d'une boucle après le 'else'. Cependant, il est inutile d'avoir un 'else' sur une boucle' while' si vous n'avez pas 'break'. Le 'else' est redondant. – cdarke