Python:让urllib跳过失败的连接

Python:让urllib跳过失败的连接,python,urllib,Python,Urllib,使用诺基亚N900,我有一个urllib.urlopen语句,如果服务器脱机,我希望跳过该语句。(如果无法连接>继续执行下一行代码) 在Python中应该/可以如何做到这一点?根据文档,如果无法建立连接,它将引发IOError try: urllib.urlopen("http://fgsfds.fgsfds") except IOError: pass try: urllib.urlopen(url) except IOError: # exception h

使用诺基亚N900,我有一个
urllib.urlopen
语句,如果服务器脱机,我希望跳过该语句。(如果无法连接>继续执行下一行代码)

在Python中应该/可以如何做到这一点?

根据文档,如果无法建立连接,它将引发
IOError

try:
    urllib.urlopen("http://fgsfds.fgsfds")
except IOError:
    pass
try:
    urllib.urlopen(url)
except IOError:
    # exception handling goes here if you want it
    pass
else:
    DoSomethingUseful()
编辑:正如联合国大学指出的那样,
urllib2
更灵活。Python文档对如何使用它有很好的说明。

根据文档,如果无法建立连接,它将引发
IOError

try:
    urllib.urlopen(url)
except IOError:
    # exception handling goes here if you want it
    pass
else:
    DoSomethingUseful()

编辑:正如联合国大学指出的那样,
urllib2
更灵活。Python文档对如何使用它有很好的说明。

如果您使用的是Python3,
urllib.request.urlopen
有一个参数。您可以这样使用它:

import urllib.request as request
try:
    response = request.urlopen('http://google.com',timeout = 0.001)
    print(response)
except request.URLError as err:
    print('got here')
    # urllib.URLError: <urlopen error timed out>
将urllib.request作为请求导入
尝试:
response=request.urlopen('http://google.com,超时=0.001)
打印(答复)
除request.URLError作为错误外:
打印('got here')
#urllib.URLError:
超时
以秒为单位。上面的超短值只是为了证明它是有效的。当然,在现实生活中,你可能会想将其设置为更大的值

urlopen
如果url不存在或您的网络关闭,也会引发一个错误(也可以作为
请求.URLError
访问)


对于Python2.6+,等效代码可以是。

如果您使用的是Python3,
urlib.request.urlopen
有一个参数。您可以这样使用它:

import urllib.request as request
try:
    response = request.urlopen('http://google.com',timeout = 0.001)
    print(response)
except request.URLError as err:
    print('got here')
    # urllib.URLError: <urlopen error timed out>
将urllib.request作为请求导入
尝试:
response=request.urlopen('http://google.com,超时=0.001)
打印(答复)
除request.URLError作为错误外:
打印('got here')
#urllib.URLError:
超时
以秒为单位。上面的超短值只是为了证明它是有效的。当然,在现实生活中,你可能会想将其设置为更大的值

urlopen
如果url不存在或您的网络关闭,也会引发一个错误(也可以作为
请求.URLError
访问)


对于Python2.6+,等效代码可以是。

需要使用urllib而不是urllib2需要使用urllib而不是urllib2