删除含有子文件的文件夹

import os

def remove_dir(path):
# 判断如果为文件则直接删除
# 判断如果为空文件夹则直接删除
# 判断如果为文件夹,则递归调用

filelist = os.listdir(path)

for file in filelist:
    if os.path.isfile(os.path.join(path, file)):   # 如果为文件,则直接删除
        os.remove(os.path.join(path, file))
        print("删除文件成功")
    else:
        if os.listdir(os.path.join(path, file)):   # 如果为非空文件,则递归调用,直至将文件夹中文件删除,然后再将空文件夹删除
            remove_dir(os.path.join(path, file))
        else:
            os.rmdir(os.path.join(path, file))    # 如果我空文件夹,则直接删除
            print("删除空文件夹成功")
# os.chdir(path)
if not os.listdir(path):     # 如果文件夹为空,则直接删除
    os.rmdir(path)
    print("删除文件夹成功")

remove_dir(r"C:\Users\ezhang33\Desktop\Learning\python\python project\test data - Copy")

你可能感兴趣的:(删除含有子文件的文件夹)