如何错误检查 urllib.request

How to error check urllib.request

我在 python 代码中有一行是:

req = urllib.request.urlopen(path + "robots.txt", data=None)

但如果网站.com/robots.txt 不存在,这似乎会出错。如果这不起作用,我如何添加一个错误检查条件,将 req 设置为空白?

这是 try - except 块的一个很好的用例。

from urllib.request import urlopen
from urllib.error import URLError, HTTPError

try:
    req = urlopen(path + "robots.txt", data=None)
except HTTPError as e:
    # do something
    print('Error code: ', e.code)
except URLError as e:
    # do something (set req to blank)
    print('Reason: ', e.reason)

我不确定你所说的空白是什么意思,但你可以在 except 块中将其设置为你想要的任何内容,具体取决于错误是什么。在你的情况下,我相信你得到了一个 URLError,在这种情况下你可以做类似 req = None 的事情(或任何你喜欢的)。