Python 将唯一文件名添加到for循环文件下载程序
我使用for循环从API请求文件。我想使用名称列表(image\u list)来命名每个文件Python 将唯一文件名添加到for循环文件下载程序,python,for-loop,Python,For Loop,我使用for循环从API请求文件。我想使用名称列表(image\u list)来命名每个文件 您可以使用在每次迭代中都会发生变化的变量 见此:- >>> list1 = [ 'a', 'b', 'c', 'd' ] >>> >>> var, list2 = 0, [] >>> for i in list1: ... filename = 'file{}'.format(var) ... var += 1 .
您可以使用在每次迭代中都会发生变化的变量 见此:-
>>> list1 = [ 'a', 'b', 'c', 'd' ]
>>>
>>> var, list2 = 0, []
>>> for i in list1:
... filename = 'file{}'.format(var)
... var += 1
... list2.append(filename)
...
>>> list2
['file0', 'file1', 'file2', 'file3']
您可以在URL和文件名之间创建映射(dict),然后在字典中迭代
另一种方法是压缩两个列表并迭代结果
另一种方法是枚举URL并根据索引获取文件名
第一个选项假定在下载\u url\u列表中没有重复项
最后两个假设download\u url\u列表
和image\u列表
的大小相同
info = zip(download_url_lists, image_list)
for url, filename in info:
...
# or
mapping = dict(info)
for url, filename in mapping.iteritems():
...
# or
for index, url in enumerate(download_url_lists):
filename = image_list[index]
...
到目前为止你试过什么?另外,请不要以图片形式发布代码。请将代码以文本形式放入代码块中。这将有助于搜索和人们通过复制/粘贴提供帮助……如果您发布实际的代码,而不是屏幕截图,这将很有帮助,因为屏幕截图通常用于显示预期的输入或输出。您也不会指出您的代码是如何失败的以及失败的位置。谢谢!我用了你的第三个建议。
info = zip(download_url_lists, image_list)
for url, filename in info:
...
# or
mapping = dict(info)
for url, filename in mapping.iteritems():
...
# or
for index, url in enumerate(download_url_lists):
filename = image_list[index]
...