📅  最后修改于: 2023-12-03 14:49:45.558000             🧑  作者: Mango
在 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)
该程序会遍历目录下的所有文件和文件夹,当找到一个空文件夹时就删除,并打印删除信息。如果不是空文件夹,则递归进入该文件夹继续处理。