天天看點

python 建立多級目錄

在python中,建立目錄直接使用 os.mkdir 函數即可。

但是 os.mkdi r隻能在存在的目錄下建立檔案夾,

e.g. 存在目錄  C:\

os.mkdir(r'C:\testing')   可行

但是  os.mkdir(r'C:\testing\test\te\t')   這樣的多級不存在目錄,os.mkdir 不會遞歸建立

python 建立多級目錄

目前不清楚标準庫中有沒有滿足這個需求的API,  下面是給出我用的兩個方法

# 方法一
import os
def mkdir(path):
    folders = []
    while not os.path.isdir(path):
        path, suffix = os.path.split(path)
        folders.append(suffix)
    for folder in folders[::-1]:
        path = os.path.join(path, folder)
        os.mkdir(path)

# 方法二
import os
def mkdir(path):
    if not os.path.isdir(path):
        mkdir(os.path.split(path)[0])
    else:
        return
    os.mkdir(path)
           

方法一是逐段分割,方法二用的是遞歸