Python如何递归删除空文件夹
  49iChyeZd8DE 2024年02月29日 46 0

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)
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2024年02月29日 0

暂无评论

推荐阅读
  KmYlqcgEuC3l   7天前   18   0   0 Python
49iChyeZd8DE