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

时间:2019-03-13 15:52:35

标签: python image list download

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

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

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

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

这是我可以提供的代码:

describe('When _showError() is called', () => {
     let source;
        beforeEach(() => {
            source = "calls"
        });

      it('Should show default message to send error', () => {
            const response = 'Error occurred, please retry';
            item._showError(source, response);
            expect(item._showError).toHaveBeenCalled();
        });
    });

谢谢!

2 个答案:

答案 0 :(得分:1)

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

尝试一下:

listA

答案 1 :(得分:0)

您使用的是嵌套循环,但我认为您实际上只希望一个循环同时遍历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]))