📜  python 递归删除文件夹 - TypeScript (1)

📅  最后修改于: 2023-12-03 14:46:19.012000             🧑  作者: Mango

Python递归删除文件夹

在Python中,有时候我们需要删除一个文件夹及其内部的所有文件和子文件夹。这时候,我们可以使用递归函数来实现。

实现代码
import shutil
import os

def remove_dir(dir_path):
    """
    递归删除文件夹及其内部文件和子文件夹
    """
    for filename in os.listdir(dir_path):
        file_path = os.path.join(dir_path, filename)
        if os.path.isdir(file_path):
            remove_dir(file_path)  # 递归删除子文件夹
        else:
            os.remove(file_path)   # 删除文件
    os.rmdir(dir_path)            # 删除空文件夹
代码说明

首先,我们导入了shutilos这两个Python标准库。os库提供了很多与操作系统交互的函数,而shutil则是Python的文件(夹)管理库。

在主函数remove_dir()中,我们先用os.listdir()函数列出指定路径下的所有文件及文件夹列表。然后我们使用os.path.join()函数将文件夹路径和文件/文件夹名结合,得到文件/文件夹的完整路径。

接着,我们通过os.path.isdir()函数判断该路径是否为文件夹,如果是,我们再次调用remove_dir()函数来递归删除该文件夹。如果不是,我们就调用os.remove()函数来删除该文件。最后,通过os.rmdir()函数删除空文件夹。

在调用remove_dir()函数时,我们只需要传入要删除的文件夹路径即可。如下所示:

remove_dir('/path/to/folder')
总结

Python提供了很多方便的函数和库来操作文件和文件夹,递归删除文件夹就是其中之一。我们只需要熟悉这些函数和库,就可以轻松地处理文件和文件夹了。