Python:循环删除空文件夹

2024-06-01 14:23:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我在使用python脚本查找和删除空文件夹时遇到了问题。。在

我有一些dir的文件更像这样:

A/
--B/
----a.txt
----b.pdf
--C/
----d.pdf

我要做的是删除所有不是pdf的文件,然后删除所有空文件夹。我可以删除我想删除的文件,但是我不能得到空目录。。我做错什么了?在

^{pr2}$

Tags: 文件txt脚本文件夹pdfdir空目录pr2
2条回答

使用说明功能

os.removedirs(path)

这将删除目录,直到父目录不为空。在

理想情况下,您应该在删除文件后立即删除目录,而不是使用os.walk进行两次传递

import sys
import os

for dir, subdirs, files in os.walk(sys.argv[1], topdown=False):
    for name in files:
        if not(name.endswith(".pdf")):
            os.remove(os.path.join(dir, name))
        if len(os.listdir(dir)) == 0: #check whether the directory is now empty after deletions, and if so, remove it
            os.rmdir(dir)

相关问题 更多 >