python根据文件名删除文件夹中文件

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)