python - 如何在 Python 中下载文件但忽略错误?
问题描述
import wget
for link in saved:
url = link.url
wget.download(url,'downloads/')
此代码有效,但是它失败并在第一个错误发生时立即停止,因为我不过滤或测试 link.url 中的内容,因为它是从另一个函数填充的。我如何忽略 wget 收到的任何错误,以便它可以继续。我不在乎,但如果可能的话,可以将错误附加到本地文件系统中,该文件系统是从名为 error 的文件中运行的。
感谢您提供任何帮助。我对 Python 还是很陌生。
解决方案
只需在 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
推荐阅读
- elixir - if 块中定义的函数是否在编译时被取出?如果在编译时运行,顶层会运行吗?
- javascript - 使用 Apollo 和 GraphQL 的 React 表单不会触发 onSubmit
- c# - 将 FieldNames 和 Values 动态传递给 linq
- php - 在每个数组项上添加键/值 - PHP
- mysql - 插入和删除查询是否可以从锁定等待超时中逃脱?
- python - RandomSearchCV 执行在第二次运行时没有结束
- r - x86_64-conda_cos6-linux-gnu-ld:找不到-lc
- kubernetes-ingress - How to set up ingress in Kubernetes for http and https backend
- c# - specflow gives error after adding more string parameters
- javascript - 使用 jQuery 从 url 获取 API 数据的问题