0

我有两个目录:

dir1 = path/to/original/imgs

dir2 = path/to/subset/imgs

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

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 中。我检查了这个链接这个。非常感谢任何帮助。谢谢你。

4

2 回答 2

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)
于 2017-10-24T06:23:10.707 回答
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
于 2017-10-24T07:00:31.810 回答