2017-04-05 5 views
-1

내 PyCurl 코드의 목적은 IP 주소 배열을 반복하고 각 IP 주소의 응답 본문을 인쇄하는 것입니다.잠재적 인 오류가있는 for 루프를 올바르게 계속 유지하려면 어떻게합니까?

유일한 문제는 일부 IP가 실제로 오프라인이고 PyCurl이 IP에 연결할 수없는 경우 오류가 발생하여 스크립트를 종료한다는 것입니다.

내가 원하는 것은 PyCurl이 IP에 연결할 수없는 경우 다음 스크립트로 건너 뛰는 것입니다. 이것은 간단해야하지만,이 예외를 허용하기 위해 어떻게 코드를 다시 작성해야하는지 잘 모르겠습니다.

Heres는 '내 코드 :

try: 
    for x in range (0, 161): 
     print ips[x] 
     url = 'http://' + ips[x] + ':8080/config/version/' 

     storage = StringIO() 
     c = pycurl.Curl() 
     c.setopt(c.URL, url) 
     c.setopt(c.WRITEFUNCTION, storage.write) 
     c.perform() 
     c.close() 
     content = storage.getvalue() 
     print content 

except pycurl.error: 
    pass 

나는 continue 시도했지만 나는 오류 continue: not properly in loop를 얻을.

오류가 발생하면 for 루프를 올바르게 수행 할 수 있도록 코드를 편집하려면 어떻게해야합니까?

답변

1

당신이해야 할 일은 루프 내에 try ... except 블록을 두어 오류가 잡히면 다음 루프를 계속 진행하는 것입니다.

for x in range (0, 161): 
    try: 
     print ips[x] 
     url = 'http://' + ips[x] + ':8080/config/version/' 

     storage = StringIO() 
     c = pycurl.Curl() 
     c.setopt(c.URL, url) 
     c.setopt(c.WRITEFUNCTION, storage.write) 
     c.perform() 
     c.close() 
     content = storage.getvalue() 
     print content 

    except pycurl.error: 
     continue 
+0

아, 정말 이해가됩니다. 정말 고마워요! – juiceb0xk

관련 문제