将图像写入不同的文件夹

时间:2017-10-24 06:15:18

标签: python mscoco

我有两个目录:

dir1 = path/to/original/imgs

dir2 = path/to/subset/imgs

dir1包含来自COCO数据集的图像,dir2当前为空。我还有一个列表,其中包含一些图像的名称(从d​​ir1中提取):

list1 = ['img1', 'img2', 'img3', 'img4', 'img5'] 

我需要做的是将list1中的图像名称与dir1中的图像名称进行比较,并将匹配的图像保存到dir2中。以下就是我现在所拥有的:

import os
path_to_imgs = "/path/to/dir1"
path_to_subset_imgs = "/path/to/dir2"
file_list = os.listdir(path_to_imgs)
for img_name in list1:
    for filename in file_list:
        if img_name == filename:

我无法理解如何继续将相同的图像保存到dir2中。我查看了this linkthis one。任何帮助都非常感谢。 谢谢。

2 个答案:

答案 0 :(得分:1)

您可以考虑使用shutil

import shutil

image_list = ['img1', 'img2', 'img3', 'img4', 'img5'] 
dirs_list = [("/path/to/dir1/", "/path/to/dir2/")]

for img in image_list:
    for source_folder, destination_folder in dirs_list:
        shutil.copy(source_folder+img, destination_folder+img)

答案 1 :(得分:1)

首先检查图像是否存在于文件夹dir1中,如果存在,则将图像从dir1复制到dir2。

for img in list1:
    if os.path.exists(dir1+img):
        shutil.copy(dir1+img, dir2+img)
    else:
        print "Image %s doesn't exist"%img