Mic*_*rds 0 python exception-handling
我有一些代码可以从网站下载图像.它目前的工作方式需要猜测它将从哪个URL下载文件扩展名.执行此操作的代码块如下所示:
for imageLink in imageLinks:
try:
urllib.request.urlretrieve(imageLink + ".png", str(threadName) + "/" + str(count) + ".png")
except:
try:
urllib.request.urlretrieve(imageLink + ".jpg",str(threadName) + "/" + str(count) + ".png")
except:
try:
urllib.request.urlretrieve(imageLink + ".gif",str(threadName) + "/" + str(count) + ".gif")
except:
urllib.request.urlretrieve(imageLink + ".webm",str(threadName) + "/" + str(count) + ".webm")
Run Code Online (Sandbox Code Playgroud)
目前代码依赖于失败以尝试别的东西.我想知道他们是否是一种拥有此功能的方式,但基本上只是看起来更好.如果它们失败,这些方法会产生相同的错误,所以我想按顺序遍历它们,直到它们工作
for ext in ('.png', '.jpg', '.gif', '.webm'):
try:
urllib.request.urlretrieve(imageLink + ext, str(threadName) + "/" + str(count) + ext)
break
except:
pass
Run Code Online (Sandbox Code Playgroud)