Python如何递归删除空文件夹

1.Python如何递归删除空文件夹,这个问题很常见。但大多数人的解决办法都是自己实现递归函数解决这个问题,其实根本不用那么麻烦。

Python中的os.walk提供了一种从内到外的遍历目录树的方法(设置topdown=False),这样由内到外判断当前目录树下是否有文件和文件夹,如果都没有则意味着当前目录树为空文件夹,os.rmdir删除即可。

# eg.
 
import os
for root, dirs, files in os.walk(path, topdown=False):
    if not files and not dirs:
        os.rmdir(root)

2.如果在遍历文件夹同时,先做了一些操作,比如删除文件操作os.remove,然后再判断此时文件夹是否为空,为空则删除。

需要用os.listdir判断当前文件夹是否为空,因为dirs和files还是刚进入当前文件夹root时得到的。

# eg. 
#Python学习交流群:711312441
import os
for root, dirs, files in os.walk(path, topdown=False):
    for file in files:
        if file.endwith('.jpg'):
            file = os.path.join(root, file)
            os.remove(file)
    
    if not os.listdir(root):
        os.rmdir(root)
posted @   嗨学编程  阅读(87)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
点击右上角即可分享
微信分享提示