我想在自己内部创建多个文件夹。如果我有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)
答案 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