如何在Python中下载文件但忽略错误?

Jon*_*aub 2 python exception wget

import wget

for link in saved:
    url = link.url
    wget.download(url,'downloads/')
Run Code Online (Sandbox Code Playgroud)

该代码可以工作,但是它会失败并在第一个错误发生时立即停止,因为我不会过滤或测试 link.url 中的内容,因为它是从另一个函数填充的。我如何忽略 wget 收到的任何错误以便它可以继续。我不在乎,但如果可能的话,可以将错误附加到正在运行的本地文件系统中的一个名为 error.txt 的文件中。

感谢您的帮助。我对 Python 还很陌生。

Ste*_*eve 5

只需在 wget 调用周围包含一个 try/except - 在 except 代码中,您将可以访问表示发生的问题的异常对象。您可以使用该对象中的信息做任何您想做的事情。如果您打算忽略它,则将其记录在某处是最常见的做法。(编程的黄金法则是永远不要完全忽略错误):

import wget

for link in saved:
    url = link.url
    try:
        wget.download(url,'downloads/')
    except Exception as ex:  # could catch a more specific Exception object
        # log the exception here
Run Code Online (Sandbox Code Playgroud)