Python:递归删除空文件夹

标签 python

我在使用 Python 脚本查找和删除空文件夹时遇到问题。 我有一些目录或多或少是这样的文件:

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

我正在尝试删除所有非 PDF 文件,然后删除所有空文件夹。我可以删除我想要的文件,但我无法获得空目录。我做错了什么?

    os.chdir(path+"/"+name+"/Test Data/Checklists")
    pprint("Current path: "+ os.getcwd())
    for root, dirs, files in os.walk(path+"/"+name+"/Test Data/Checklists"):
            for name in files:
                    if not(name.endswith(".pdf")):
                            os.remove(os.path.join(root, name))
    pprint("Deletting empty folders..")
    pprint("Current path: "+ os.getcwd())
    for root, dirs, files in os.walk(path+"/"+name+"/Test Data/Checklists", topdown=False):
            if not dirs and not files:
                    os.rmdir(root)

最佳答案

使用安装函数

os.removedirs(path)

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

关于Python:递归删除空文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34900289/

相关文章:

python - 使用 matplotlib 中的值更改点的维度

Python 基类共享属性?

python - 元组、最大值和干净迭代

python - 寻找合适的 RE

python - 如何从包含多个键的字典中获取值?

python - PyMC3 中的隐马尔可夫

python - 根据条件Python将请求传递给不同的类

python - 有助于文件锁定的实用程序 - 需要专家提示

python - 工具提示在我的 pygal 条形图中不起作用?

python - 从日期时间列表中获取最早和最晚时间