python - 使用带有用户输入的循环通过 python 下载图像列表

标签 python image list download

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

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

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

最终结果:将 2 张图像下载到“images”文件夹,文件名分别为“apple”和“google”

这是我能想到的代码:

    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')

谢谢!

最佳答案

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

试试这个:

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')

关于python - 使用带有用户输入的循环通过 python 下载图像列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55146088/

相关文章:

java - 以编程方式更改联系人图片

python - 需要从文本文件创建列表

python - 如何在 Python 中请求一组列表,请求一个数字 (x),删除 x 个输入,然后重新列出这些输入?

Android:淡入淡出 View

python - 来自 Amazon.com(和 Amazon.in)的程序化结账

css - 仅在 html css 中将缩略图的背景图像网格放大到更高分辨率

python - 类型错误: 'float' 对象在内置 max 函数的列表上不可迭代

list - Erlang如何检查元组列表中的所有元素是否存在于另一个元组列表中

python - 从Python中的yeardatescalendar中提取日期时间信息

python - 对应于 tf.nn.conv2d_transpose 的 Keras 层(函数)