在目录中创建多个文件夹

时间:2020-07-29 00:40:22

标签: python directory operating-system exists mkdir

我想在自己内部创建多个文件夹。如果我有3个文件夹,则要在桌面上彼此嵌套。我想以目前执行此操作的方式创建目录'C:/Users/User/Desktop/folder_a/folder_b/folder_c/',是多次调用os.path.exists()os.mkdir()。有没有一种方法可以不必多次调用?

import os

DIR = 'C:/Users/User/Desktop/folder_a/folder_b/folder_c/'
if not os.path.exists(DIR):
    os.mkdir(DIR)
DIR = DIR + 'folder_b/'
if not os.path.exists(DIR):
    os.mkdir(DIR)
DIR = DIR + 'folder_c/'
if not os.path.exists(DIR):
    os.mkdir(DIR)

2 个答案:

答案 0 :(得分:1)

因此我们只需要进行一项检查即可:)如果folder_b不存在,则folder_a不存在。

这将我们带到第二种情况。为此,我们省去了exist_ok=True,以便再次进行适当的检查,但是如果没有folder_b和'folder_c',则将它们包括在内。

选项1:

from os import (
    makedirs,
    path,
)

dir_path = 'C:/Users/User/Desktop/folder_a/{}'

if path.exists(dir_path):
    makedirs(
        dir_path.format(
            'folder_b/folder_c/',
        )
    )

选项2:

from os import makedirs

dir_path = 'C:/Users/User/Desktop/folder_a/folder_b/folder_c'
makedirs(dir_path)

答案 1 :(得分:1)

我为您编写了一个递归函数:

Save
相关问题