admin管理员组文章数量:1516870
今天同事给我提了个脚本需求: 删除某个路径下的所有空的文件夹和空文件 ,刚开始的时候觉得挺简单,
后来发现了一个问题:由于文件夹有多层目录从而导致底层的空文件夹删除以后上级文件夹有可能变成空文件夹
这就导致删除不彻底。
我的思路是这样的
1.首先删除空文件,借用os.walk()
2.删除文件以后,从底层递归删除空文件夹。
废话不多说上代码,由于公司网络不能接外网代码全靠手打,所以偷个懒只写核心的代码,大家需要自己改改。
首先是删除空文件,dir是文件路径
for root,dirs,files in os.walk(dir):
for file in files:
src_file=os.path.join(root,file)
if os.path.getsize(src_file) == 0:
os.remove(src_file)删除空文件夹:
dir_list=[]
for root,dirs,files in os.walk(dir):
dir_list.append(root)
# 先生成文件夹的列表,重点是下边
for root in dir_list[::-1]:
if not os.listdir(root):
os.rmdir(root)
可以看到删除文件夹的时候是从最底层开始逐层删除,这才能保证所有的空文件夹都能删除。
版权声明:本文标题:Python代码指南:深度清理项目中的空文件、子文件夹 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.betaflare.com/biancheng/1772380446a3274204.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。


发表评论