python根据文件名删除文件夹中文件
import os
import fnmatch
def delete_files_by_patterns(directory, patterns):
"""
删除指定目录下与给定模式匹配的所有文件。
:param directory: 目标目录的路径
:param patterns: 一个包含文件名模式的列表,这些模式将用于匹配文件
"""
# 获取目录下的所有文件和文件夹名称
entries = os.listdir(directory)
# 转换为小写,以便忽略大小写进行匹配
entries_lower = [entry.lower() for entry in entries]
patterns_lower = [pattern.lower() for pattern in patterns]
# 遍历每个文件,检查是否与任何模式匹配
for entry in entries:
if any(fnmatch.fnmatch(entry.lower(), pattern) for pattern in patterns_lower):
# 构建完整的文件路径
file_path = os.path.join(directory, entry)
# 删除文件
os.remove(file_path)
print(f"Deleted: {file_path}")
# 使用示例
directory_path = r'E:\test' # 替换为你的目录路径
file_patterns = ['123.jpg'] # 替换为你的文件名模式列表,忽略大小写
delete_files_by_patterns(directory_path, file_patterns)