rm -rf python 实现 v0.1

时间:2021-04-16 20:08:08
#coding=utf-8
import os
def join(arr,join_falg):
    res = ""
    for a in  arr:
        res += a+join_falg
    return res

def get_file_parats(file):
    path_arr = file.split("/")
    last_index = file.rindex("/")
    parents_path = file[:last_index]
    return parents_path

#递归创建文件夹
def file_mkdir2(file):
    dirs = file.split("/")
    for i in range(1,len(dirs)+1):
        d = join(dirs[:i],"/")
        if not os.path.exists(d):
            os.mkdir(d)
#file_mkdir2("../file/testdir5/inner/8/2/3/4/5")
#删除所有叶子节点的文件
def rm_dirs(path,path0):
    if not os.path.exists(path):
        print("***"+path)
        return
    if os.path.isfile(path):
        print("A"+path)
        os.remove(path)
    else:
        dirs = os.listdir(path)
        for d in dirs:
            cur_path = path+"/"+d
            if not os.path.exists(cur_path):
                print("XXX "+cur_path)
                continue
            if os.path.isfile(cur_path):
                print("C"+cur_path)
                os.remove(cur_path)
            elif len(os.listdir(cur_path))==0:
                print("D"+cur_path)
                os.rmdir(cur_path)
            else:
                rm_dirs(cur_path,path0)
    if len(os.listdir(path)) == 0:
        print("B"+path)
        os.rmdir(path)
    if path!=path0:
        rm_dirs(path,path0)
rm_dirs("../file/testdir5/inner","../file/testdir5/inner")