首页 > 解决方案 > 如何在 Python 中下载文件但忽略错误?

问题描述

import wget

for link in saved:
    url = link.url
    wget.download(url,'downloads/')

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

感谢您提供任何帮助。我对 Python 还是很陌生。

标签: pythonexception-handlingwget

解决方案


只需在 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

推荐阅读