用shutil拷贝问题分离图像

2024-09-27 00:20:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个文件名massPictures=[],其中包含一个.png文件名列表。我有一个.csv,用于根据标准过滤图片

我正在使用shutil.copy浏览包含图像的目录,选择massPicture上的图像并将其移动到一个文件夹中,然后将不在该列表中的图像移动到另一个文件夹中

import os
import shutil

for filenamewithmass in massPictures:
    for filename in os.listdir('Chest Xrays'):
        filenametry = 'Chest Xrays/'+filename
        if(filenamewithmass == filename):
            shutil.copy(filenametry,'Mass',follow_symlinks = True)
        else:
            shutil.copy(filenametry, 'NoMass',follow_symlinks = True)

但问题是else语句似乎不起作用,进入文件夹Mass的文件也被发送到文件夹NoMass

谢谢


Tags: in图像import文件夹列表foros文件名
1条回答
网友
1楼 · 发布于 2024-09-27 00:20:19

您先遍历文件列表,然后遍历文件本身。显然,对于每个文件,当它与列表中的某个内容匹配时都会有一个案例,当它不匹配时也会有一个案例。您应该遍历文件,并将它们与列表进行比较,然后只复制一次(而不是像现在这样的num(文件)*num(列表)):

for filename in os.listdir('Chest Xrays'):
    filenametry = 'Chest Xrays/'+filename
    if(filename in massPictures):
        shutil.copy(filenametry,'Mass',follow_symlinks = True)
    else:
        shutil.copy(filenametry, 'NoMass',follow_symlinks = True)

相关问题 更多 >

    热门问题