2017-04-05 3 views
-1

PyCurlコードの目的は、IPアドレスの配列を反復し、各IPアドレスの応答本文を出力することです。エラーの可能性があるforループを適切に続行するにはどうすればよいですか?

唯一の問題は、一部のIPが実際にオフラインであり、PyCurlがIPに接続できないときにエラーが発生し、スクリプトが終了することです。

私がスクリプトにしたいのは、PyCurlがIPに接続できない場合、次のものにスキップすることです。これは単純なはずですが、この例外を許可するためにコードをどのように書き直すべきかわかりません。相続人

私のコード:

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

関連する問題