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新人,仅借此以抛砖引玉。

posted @ 2017-03-09 17:24  奔四少年  阅读(6234)  评论(0编辑  收藏  举报