Python如何递归删除空文件夹

Python如何递归删除空文件夹

Python如何递归删除空文件夹,这个问题很常见。但大多数人的解决办法都是自己实现递归函数解决这个问题,其实根本不用那么麻烦。Python中的os.walk提供了一种从内到外的遍历目录树的方法(设置topdown=False),这样由内到外判断当前目录树下是否有文件和文件夹,如果都没有则意味着当前目录树为空文件夹,os.rmdir删除即可。

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

如果在遍历文件夹同时,先做了一些操作,比如删除文件操作os.remove,然后再判断此时文件夹是否为空,为空则删除。需要用os.listdir判断当前文件夹是否为空,因为dirs和files还是刚进入当前文件夹root时得到的。

#Recursively Remove Empty Directories, During do something like os.remove(file)
import os
for root, dirs, files in os.walk(path, topdown=False):
    # do something like os.remove(file)
    if not os.listdir(root):
        os.rmdir(root)
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 〇、前言 本文共108张图,流量党请慎重! 历时1个半月,我把自己学习Python基础知识的框架详细梳理了一遍。 ...
    Raxxie阅读 19,164评论 17 410
  • Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意...
    萤火虫de梦阅读 99,715评论 9 468
  • 转:http://blog.csdn.net/gexiaobaohelloworld/article/detail...
    奇_66a0阅读 3,455评论 0 2
  • 今天要去看富士山。 8:30我们准时去吃早餐。这是我们此行中最高效的一次。8:45分时,导游发来微信说他已经到了酒...
    cola的春天阅读 842评论 1 3
  • 又又又又失眠了 我一直以为我的固执我的斤斤计较只是为了某一个人,但是今天突然发现,好像我,本性如此。 什么没有人的...
    阿系阿系阅读 180评论 0 0