Python如何递归删除空文件夹

打印 上一主题 下一主题

主题 902|帖子 902|积分 2706

1.Python如何递归删除空文件夹,这个问题很常见。但大多数人的解决办法都是自己实现递归函数解决这个问题,其实根本不用那么麻烦。
Python中的os.walk提供了一种从内到外的遍历目录树的方法(设置topdown=False),这样由内到外判断当前目录树下是否有文件和文件夹,如果都没有则意味着当前目录树为空文件夹,os.rmdir删除即可。
  1. # eg.
  2. import os
  3. for root, dirs, files in os.walk(path, topdown=False):
  4.     if not files and not dirs:
  5.         os.rmdir(root)
复制代码
2.如果在遍历文件夹同时,先做了一些操作,比如删除文件操作os.remove,然后再判断此时文件夹是否为空,为空则删除。
需要用os.listdir判断当前文件夹是否为空,因为dirs和files还是刚进入当前文件夹root时得到的。
  1. # eg.
  2. #Python学习交流群:711312441
  3. import os
  4. for root, dirs, files in os.walk(path, topdown=False):
  5.     for file in files:
  6.         if file.endwith('.jpg'):
  7.             file = os.path.join(root, file)
  8.             os.remove(file)
  9.    
  10.     if not os.listdir(root):
  11.         os.rmdir(root)
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

民工心事

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表