📌  相关文章
📜  使用 python 删除文件夹(1)

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

使用 Python 删除文件夹

在 Python 中,要删除文件夹可以使用 os 模块中的 rmdir()shutil 模块中的 rmtree() 方法。但是需要注意的是,这两个方法在用法和删除文件夹时的行为是有区别的。

使用 os.rmdir()

os.rmdir() 方法用于删除指定的空文件夹。当文件夹中有文件或子文件夹时会抛出 OSError 异常。

import os
 
# 删除空文件夹
os.rmdir('example_directory')
使用 shutil.rmtree()

shutil.rmtree() 方法可以删除包含文件和子文件夹的目录,相当于执行 rm -rf 命令。

import shutil
 
# 删除文件夹及其内容
shutil.rmtree('example_directory')

需要注意的是,使用 shutil.rmtree() 方法删除目录时非常危险,一定要谨慎操作。建议在执行前先检查目录是否正确,并且不要在代码中使用硬编码的路径。

实例

下面是一个示例程序,用于删除指定路径下的所有空文件夹。

import os
 
def delete_empty_folders(path):
    for folder_name in os.listdir(path):
        folder_path = os.path.join(path, folder_name)
        if os.path.isdir(folder_path):
            try:
                os.rmdir(folder_path)
                print(f'{folder_path} deleted.')
            except OSError:
                delete_empty_folders(folder_path)
 
path = 'example_directory'
delete_empty_folders(path)

该程序会遍历目录下的所有文件和文件夹,当找到一个空文件夹时就删除,并打印删除信息。如果不是空文件夹,则递归进入该文件夹继续处理。