J'essaie ce code simple, mais la foutue rupture ne fonctionne pas ... qu'est-ce qui ne va pas?Comment sortir d'un essai/sauf à l'intérieur d'un moment? [Python]
while True:
for proxy in proxylist:
try:
h = urllib.urlopen(website, proxies = {'http': proxy}).readlines()
print 'worked %s' % proxy
break
except:
print 'error %s' % proxy
print 'done'
Il est censé quitter le tout lorsque les travaux de connexion, et revenir en arrière et essayer un autre proxy si elle n'a pas
ok, voici ce que je fais
Je suis en essayant de vérifier un site web et si ça a changé, il doit sortir du moment pour continuer vers le reste du script, mais quand le proxy ne se connecte pas, j'obtiens une erreur de la variable, comme c'est nul, donc ce que je voulez-vous pour le travail en boucle pour essayer un proxy, et si cela fonctionne, continuer le script, et la fin du script, revenir en arrière et essayer le proxy suivant, et si le suivant ne fonctionne pas, il sera de retour à la commence à essayer le troisième proxy, et ainsi de suite ....
J'essaie quelque chose comme ça
while True:
for proxy in proxylist:
try:
h = urllib.urlopen(website, proxies = {'http': proxy})
except:
print 'error'
check_content = h.readlines()
h.close()
if check_before != '' and check_before != check_content:
break
check_before = check_content
print 'everything the same'
print 'changed'
Vous savez que 'break' brise également des boucles pour. Donc votre 'break' ne sortira pas de la boucle while, il sortira de la boucle for immédiate. – jcao219
Vous ne devriez jamais utiliser 'excepts 'nu! Il est toujours préférable d'attraper une erreur spécifique! – jathanism