的urllib和保存多个网址不同的文件名

问题描述:

我试图搜索的urllib文件,learnpython版(Subreddit)和这里。也许我正在搜索不相关的关键字。的urllib和保存多个网址不同的文件名

我期待多个URL图像下载到同一个目录中,尽管不同的文件名。我怎么能做到这一点?提供的是适当的摘录。感谢您的时间!

def downloaddata(): 

    urls = ["url1.gif","url2.gif", "url3.gif","url4.gif"] 
    filepaths = ["samepath/1.gif","samepath/2.gif","samepath/3.gif","samepath/4.gif"] 

    for url in urls: 
     try: 
      image = urllib.URLopener() 
      image.retrieve(url, filepaths) 
      break 
     except ValueError: 
      pass 

您可以使用enumerate

for i,url in enumerate(urls): 
    try: 
     image = urllib.URLopener() 
     image.retrieve(url, filepaths[i]) 
    except ValueError: 
     pass 

你还需要从try块删除break,如果你想下载的所有图像,由于打破它出来循环的一个执行后

演示:枚举给出索引和元素

>>> a = ['a','b','c','d'] 
>>> for i,x in enumerate(a): 
...  print(i,x) 
... 
(0, 'a') 
(1, 'b') 
(2, 'c') 
(3, 'd') 
+0

这个工程,谢谢。你知道为什么使用try/except只能下载一个图像吗?删除尝试和除外后,这工作得很好。 – 3722839 2014-12-06 20:39:33

+0

@ jclark754 try块,将工作 – Hackaholic 2014-12-06 20:40:47

+0

@删除'break' jclark754你能接受我的答,如果这个工程 – Hackaholic 2014-12-06 20:42:57