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新人,仅借此以抛砖引玉。
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步