我有两个目录:
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中。我查看了this link和this one。任何帮助都非常感谢。 谢谢。
答案 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