使用 Python 将内容从单个文件夹拆分为多个子文件夹

Que*_*ons 2 python directory

在我的文件中,我有大量jpg格式的图像,它们被命名为[fruit type].[index].jpg
不是手动创建三个新的子文件夹来将图像复制并粘贴到每个子文件夹中,而是有一些 python 代码可以解析图像的名称并根据名称选择将图像重定向到的位置fruit type,在同时在fruit type解析新文件夹时创建一个新的子文件夹?


  • 训练集(文件)
    • 苹果.100.jpg
    • 苹果.101.jpg
    • 苹果.102.jpg
    • 苹果.103.jpg
    • 桃子.100.jpg
    • 桃子.101.jpg
    • 桃子.102.jpg
    • 橙色.100.jpg
    • 橙色.101.jpg

  • 训练集(文件)
    • 苹果(文件)
      • 苹果.100.jpg
      • 苹果.101.jpg
      • 苹果.102.jpg
      • 苹果.103.jpg
    • 桃子(文件)
      • 桃子.100.jpg
      • 桃子.101.jpg
      • 桃子.102.jpg
    • 橙色(文件)
      • 橙色.100.jpg
      • 橙色.101.jpg

joe*_*ler 5

这是执行此操作的代码,如果您需要帮助将其合并到您的代码库中,请告诉我:

import os, os.path, shutil

folder_path = "test"

images = [f for f in os.listdir(folder_path) if os.path.isfile(os.path.join(folder_path, f))]

for image in images:
    folder_name = image.split('.')[0]

    new_path = os.path.join(folder_path, folder_name)
    if not os.path.exists(new_path):
        os.makedirs(new_path)

    old_image_path = os.path.join(folder_path, image)
    new_image_path = os.path.join(new_path, image)
    shutil.move(old_image_path, new_image_path)
Run Code Online (Sandbox Code Playgroud)