根据文件名将图像数据集从单个文件夹复制并粘贴到子文件夹



我目前有一个文件夹,其中包含 x no. 的 .JPEG 图像。图像文件名按特定顺序排列:label_randomNo._randomString.JPEG。 使用自定义 Python 函数,我希望能够根据文件名中提到的"标签"将图像(在我的本地机器中(复制/粘贴到子文件夹中。

例如:如果文件名具有car_23_a23d。JPEG,该函数应该创建一个名为car的文件夹,然后将该图像从源文件夹复制粘贴到子文件夹中。这需要根据文件名中的标签对源文件夹中的所有图像执行此操作。显然,当它循环时,如果(例如(已经创建了一个汽车子文件夹,它应该只是将图像复制/粘贴在那里,而不是创建另一个名为 car 的子文件夹。

我的目标是采用这种有组织的文件夹结构,并使用ImageDataGenerator.flow_from_directory将其加载为我的CNN模型的原始数据集。 谢谢!

问候 阿拜。

使用 shutil 将文件从一个源文件夹复制到目标文件夹。 mypath 是存储所有文件的文件夹。然后我们使用os.listdir((,它将获取目录中的所有内容。将文件名拆分为"_",并使用第 0 个索引创建一个新目录。 首先,我们检查路径中是否已存在该目录。如果没有,则创建一个新目录并复制映像。否则,只需复制映像而不是创建新目录。

import os, shutil
from os import listdir
def start():
mypath = "source/"
for files in listdir(mypath):
directory = (files.split('_'))[0]
if not os.path.exists(directory):
os.makedirs(directory)
shutil.copy("source/" + files, (directory))
else:
shutil.copy("source/" + files, (directory))

相关内容

最新更新