Python: Kontynuuj zapętlanie po wyjątku
Mam następujący skrypt (poniżej). który zwróci kod statusu adresów URL. Przechodzi przez plik i próbuje połączyć się z każdym hostem. Jedynym problemem jest to, że w oczywisty sposób przestaje się zapętlać, gdy osiągnie wyjątek.
Próbowałem wielu rzeczy, aby opisać to w pętli, ale bezskutecznie. jakieś pomysły?
import urllib
import sys
import time
hostsFile = "webHosts.txt"
try:
f = file(hostsFile)
while True:
line = f.readline().strip()
epoch = time.time()
epoch = str(epoch)
if len(line) == 0:
break
conn = urllib.urlopen(line)
print epoch + ": Connection successful, status code for " + line + " is " + str(conn.code) + "\n"
except IOError:
epoch = time.time()
epoch = str(epoch)
print epoch + ": Connection unsuccessful, unable to connect to server, potential routing issues\n"
sys.exit()
else:
f.close()
EDYTOWAĆ:
Wymyśliłem to w międzyczasie, wszelkie problemy z tym związane? (Nadal się uczę: p) ...
f = file(hostsFile)
while True:
line = f.readline().strip()
epoch = time.time()
epoch = str(epoch)
if len(line) == 0:
break
try:
conn = urllib.urlopen(line)
print epoch + ": Connection successful, status code for " + line + " is " + str(conn.code) + "\n"
except IOError:
print epoch + "connection unsuccessful"
Dzięki,
MHibbin