【问题标题】:Downloading images list through python using a loop with user input使用带有用户输入的循环通过python下载图像列表
【发布时间】:2019-03-13 15:52:34
【问题描述】:

使用循环通过 python 下载图像列表。 嗨,大家好, 我正在尝试创建一个 python 代码来执行以下操作: 从用户输入下载图像 URLS 及其名称 我不知道如何遍历名称列表。 这里用户网址输入示例:

https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png, https://www.fudzilla.com/media/k2/items/cache/3c6d36be2f570f2ea2f5d74c17c26ae0_XL.jpg

用户名输入示例: 谷歌、苹果

最终结果:将 2 张图片下载到名为“apple”和“google”的“images”文件夹中

这是我能想到的代码:

    import urllib.request

    images = input('please enter url list separated by ",""')
    names = input('please enter images names separated by ",""')

    images = images.split(',')
    names =  names.split(',')

    for image in images:
     for name in names:
              urllib.request.urlretrieve(image[0], "images/{}.jpg".format(name[0])) 
print('images downloaded successfully')

谢谢!

【问题讨论】:

    标签: python image list download


    【解决方案1】:

    循环对我来说似乎是错误的。通过嵌套两个循环,您总共将有 4 次迭代,每个循环 2 次。因此,您将提出 4 个请求。您将下载每个图像两次并使用两个名称保存。如果我是你,我会使用带有键值对的字典,但它是完全不同的代码。以下代码将仅循环遍历图像,并且每次名称都是“名称”数组中的递增索引。

    试试这个:

    import urllib.request
    
    images = input('please enter url list separated by ",""')
    names = input('please enter images names separated by ",""')
    
    images = images.split(',')
    names =  names.split(',')
    
    for index, image in enumerate(images):
        urllib.request.urlretrieve(image, "images/{}.jpg".format(name[index])) 
    print('images downloaded successfully')
    

    【讨论】:

    • 谢谢!效果很好!
    【解决方案2】:

    您正在使用嵌套循环,但我认为您实际上只需要一个同时遍历 url 和名称的循环。

    试试这个:

    images = input('please enter url list separated by ",""').split(',')
    names = input('please enter images names separated by ",""').split(',')
    
    for i in range(len(images)):
        urllib.request.urlretrieve(images[i], "images/{}.jpg".format(names[i]))
    

    【讨论】:

    • 谢谢!效果很好!
    猜你喜欢
    • 2020-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-31
    • 2020-09-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多