import os
#os.walk遍历目录后,删除文件和目录def rmDirAndFile(path): #先把各个目录的文件删除完 for root, dirs, files in os.walk(path): for file in files: filepath = os.path.join(root, file) try: os.remove(filepath) print("删除文件%s成功" % file) except: print("删除文件%s异常" % file) #再去删除空目录 for root, dirs, files in os.walk(path): for dir in dirs: dirpath = os.path.join(root,dir) try: os.rmdir(dirpath) print("删除文件夹%s成功" % dirpath) except: print("删除文件夹%s异常" % dirpath) import traceback print(traceback.format_exc())#os.listdir删除文件def rmFile(path): files = os.listdir(path) for file in files: file_path = os.path.join(path, file) if os.path.isfile(file_path): os.remove(file_path)# rmFile(r"D:\rpa_learn\good98\good99")rmDirAndFile(r"D:\rpa_learn\good98\good99")区别:os.rmdir只删除指定的空目录,非空目录删除时会异常;os.rmdirs删除指定的空目录后,非空目录删除时会异常; 另外,如果父目录为空的话也会被删除;所以要慎用;
shutil.rmtree()会删除指定的空、非空目录,不会报异常; 不会删除父目录;
转载于:https://www.cnblogs.com/harryTree/p/11376306.html