以下是一个示例代码,演示如何按文件夹分组以用于删除:
import os
# 按文件夹分组的函数
def group_by_folder(directory):
folders = {}
for root, dirs, files in os.walk(directory):
for file in files:
folder = os.path.dirname(os.path.join(root, file))
if folder not in folders:
folders[folder] = []
folders[folder].append(file)
return folders
# 删除文件夹及其内容的函数
def delete_folder(folder):
for root, dirs, files in os.walk(folder, topdown=False):
for file in files:
os.remove(os.path.join(root, file))
for dir in dirs:
os.rmdir(os.path.join(root, dir))
os.rmdir(folder)
# 示例用法
directory = "/path/to/directory" # 替换为你的目录路径
grouped_folders = group_by_folder(directory)
for folder, files in grouped_folders.items():
print(f"Deleting folder {folder} and its contents:")
for file in files:
print(f"- {file}")
delete_folder(folder)
这段代码首先定义了一个group_by_folder
函数,它接受一个目录路径作为参数,并返回一个字典,字典的键是文件夹路径,值是该文件夹下的文件列表。
然后定义了一个delete_folder
函数,它接受一个文件夹路径作为参数,使用os.walk
遍历文件夹及其子文件夹,删除所有文件和文件夹。
最后,示例用法展示了如何使用这两个函数来按文件夹分组删除目录中的文件夹。
下一篇:按文件夹合并PDF文件