首页 > 解决方案 > 在子文件夹中创建文件夹

问题描述

我是 python 新手,我正在寻找一种在子文件夹中创建子文件夹的方法。我的文件树如下所示:

>> Main Folder
   >> Folder a
      >> Folder 1
      >> Folder 2
   >> Folder b
      >> Folder 1
      >> Folder 2

我正在寻找一种在最底层(文件夹 1 和文件夹 2)创建新文件夹的方法。

我试过使用 os.walk 和 os.path,像这样

for dirpath, subdirs, files in os.walk(current_path):
    for subdir in subdirs:
        filePath = os.path.abspath(subdir)
        newFolder = (filePath + "/new")
        if not os.path.exists(newFolder):
            os.mkdir(newFolder)

但这只会在第二级(文件夹 a 和文件夹 b)中创建新文件夹,然后给我错误:

FileNotFoundError:[Errno 2] 没有这样的文件或目录:'/Users/diunt-02/Desktop/Brown_Brothers/TEST/new/new'

我认为循环正在创建新文件夹,而 os.walk 找不到它们的路径。是否有任何建议让 os.walk 向下移动到下一个级别并在那里创建一个文件夹?

标签: pythondirectoryos.walksubdirectory

解决方案


只需使用os.makedirs。它会自动创建必要的父文件夹。

path = 'Main Folder/Folder a/Folder 1'
if not (os.path.exists(path)):
    os.makedirs(path)

您可以以递归方式使用它来解决您的问题。


推荐阅读