python 如何删除文件夹下的所有文件和子文件夹?

上海-悠悠 / 2024-03-22 / 原文

前言

删除文件夹下的所有的文件,以及子文件下所有的文件,把这个文件夹全部删除。

shutil.rmtree() 删除

先介绍一个最简单的方法,shutil.rmtree()


删除 D:\test 目录下全部文件,并且忽略错误

os模块递归删除

可以通过os模块,自己写个递归删除


上面代码删除的时候,如果想保留我们文件夹以及子文件夹,仅仅只删除文件,可以去掉这句

    # 递归删除空文件夹
    if os.path.exists(dir_path):
        os.rmdir(dir_path)

还有另外一种实现方式


如果需要把最外层目录一起删除,可以加上这句

    # 加这段代码,最外层文件夹也一起删除
    if os.path.exists(dir_path):
        os.rmdir(dir_path)

使用 pathlib 模块实现

os模块现在很少用了,用 pathlib 模块替换os 模块相关代码