如何在 Python 中创建多个嵌套文件夹?

Posted

技术标签:

【中文标题】如何在 Python 中创建多个嵌套文件夹?【英文标题】:How to create multiple nested folders in Python? 【发布时间】:2017-07-17 09:57:12 【问题描述】:

我有一个根文件夹,比如 Z。

在 Z 中,我必须创建十个文件夹(比如 Q、W、E、R、T、Y、U、I、O、P、A)。此外,我想在这十个文件夹的每个中创建两个文件夹(比如 M 和 N)

如何使用 Python 解决这个问题?

【问题讨论】:

使用 2 for 循环和 os.path.join。 【参考方案1】:
import os
root = 'Z'
midFolders = ['Q', 'W', 'E', 'R', 'T', 'Z', 'U']
endFolders = ['M', 'N']
for midFolder in midFolders:
    for endFolder in endFolders:
        os.makedirs(os.path.join(root, midFolder,endFolder ))

【讨论】:

【参考方案2】:
import os
atuple = ('Q', 'W', 'E', 'R', 'T', 'Y', 'U', 'I', 'O', 'P', 'A')
atuple2 = ('M', 'N')
for dir1 in atuple:
    for dir2 in atuple2:
        os.makedirs(os.path.join(dir1, dir2))

【讨论】:

【参考方案3】:

您可能遇到“权限被拒绝”问题。在脚本上使用 sudo 和 chmod。

import os  
paths=['Q','W','E','R','T','Y','U','I','O','P','A']
main_path = '/root/'

for p in paths:
   os.mkdir(main_path+p)
   os.mkdir(main_path+p+'/M')
   os.mkdir(main_path+p+'/N')

【讨论】:

【参考方案4】:

os.makedirs,将从路径创建所有不存在的目录,os.path.join 将从参数创建完整路径:

import os
root = '/tmp'
directories = ['Q', 'W', 'E', 'R', 'T', 'Y', 'U', 'I', 'O', 'P', 'A']
nestedDirectories = ['M', 'N']

for d in directories:
    path = os.path.join(root, d, *nestedDirectories)
    os.makedirs(path)

【讨论】:

它会创建N文件夹嵌套在M中,这不是他想要的

以上是关于如何在 Python 中创建多个嵌套文件夹?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Python 中创建一个 trie

如何在Python中创建TRIE

使用python在多个不同文件夹中创建类似的多个子文件夹

如何在 python 的多处理中创建嵌套共享对象?

如何在 Python 中创建嵌套列表

自动在python中创建多个文件夹[重复]