首页 > 解决方案 > 遍历文件夹并为每个文件夹创建新的子文件夹,然后在 Python 中移动图像

问题描述

假设我有一个文件夹,其中包含子文件夹project1, project2, project3, ...

在此处输入图像描述

在每个项目中,我都有固定命名的子文件夹process,在这些子文件夹中,还有其他子文件夹和图像文件。progresssession

现在我想files1为每个创建子文件夹以project从中移动所有图像process,并创建files2以从progress和移动所有图像session

请注意,每个项目的图像名称都是唯一的,因此我们忽略图像名称重复问题。

为了创建files1for project1,我使用:

import os
dirs = './project1/files1'

if not os.path.exists(dirs):
    os.makedirs(dirs)

但我需要遍历所有项目文件夹。

我们如何在 Python 中做到这一点?真诚的感谢。

标签: python-3.xloopsdirectoryshutilmkdirs

解决方案


对于创建file1file2每个project

# Remove non-images files
base_dir = './'
for root, dirs, files in os.walk(base_dir):
    for file in files:
        # print(file)
        pic_path = os.path.join(root, file)
        ext = os.path.splitext(pic_path)[1].lower()
        if ext not in ['.jpg', '.png', '.jpeg']:
            os.remove(pic_path)
            print(pic_path)

# create files1 and files2
for child in os.listdir(base_dir):
    child_path = os.path.join(base_dir, child)
    os.makedirs(child_path + '/file1', exist_ok=True)
    os.makedirs(child_path + '/file2', exist_ok=True)

推荐阅读