Запись изображений в другую папку

У меня есть два каталога:

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. Я проверил эту ссылку и эту. Любая помощь высоко ценится. Благодарю вас.

2 ответа

Решение

Вы могли бы рассмотреть возможность использования 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)

Сначала проверьте, существует ли изображение в папке 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
Другие вопросы по тегам