#coding =utf-8Import Osdef Join (ARR,JOIN_FALG): Res="" forAinchArr:res+ + +Join_falgreturnresdef get_file_parats (file): Path_arr= File.split ("/") Last_index= File.rindex ("/") Parents_path=File[:last_index]returnparents_path# Creating folders by recursion def file_mkdir2 (file): dirs= File.split ("/") forIinchRange1, Len (dirs) +1): D= Join (Dirs[:i],"/") ifNot os.path.exists (d): Os.mkdir (d) #file_mkdir2 (".. /FILE/TESTDIR5/INNER/8/2/3/4/5") #删除所有叶子节点的文件def Rm_dirs (path,path0):ifNot os.path.exists (path): Print ("***"+path)return ifos.path.isfile (path): Print ("A"+path) os.remove (path)Else: dirs=os.listdir (path) forDinchDirs:cur_path= path+"/"+DifNot os.path.exists (cur_path): Print ("XXX"+Cur_path)Continue ifOs.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)ifLen (Os.listdir (path)) = =0: Print ("B"+path) os.rmdir (path)ifpath!=path0:rm_dirs (Path,path0) rm_dirs (".. /file/testdir5/inner",".. /file/testdir5/inner")
RM-RF Python Implementation v0.1