Python 递归删除非空目录(包括子目录以及文件)
Python的OS模块自带rmdir和removedirs函数用于删除目录,但是两者都不能删除非空目录,以下代码定义了一个函数 remove_dir 用于删除非空目录。
1 #作者官网 http://www.phpwechat.com 2 3 import os 4 5 def remove_dir(dir): 6 dir = dir.replace('\\', '/') 7 if(os.path.isdir(dir)): 8 for p in os.listdir(dir): 9 remove_dir(os.path.join(dir,p)) 10 if(os.path.exists(dir)): 11 os.rmdir(dir) 12 else: 13 if(os.path.exists(dir)): 14 os.remove(dir) 15 16 remove_dir(r'K:/python/noexsit2/') #函数使用 17 print 'ok'
函数使用了递归,由于是Python新人,仅借此以抛砖引玉。