You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python删除文件夹中除指定文件名列表外的所有文件

批量删除非保留文件实现方案

glob()的入参填写目标文件夹路径 + 文件名匹配规则即可,你需要匹配所有符合数字_ABC命名规则的文件,直接用通配符*代替前缀可变的数字部分,传入目标文件夹路径/*_ABC就能精准匹配到所有目标文件,避免误删文件夹内其他无关文件。

完整实现代码如下:

import glob
import os

def delete_unmatched_files(target_dir: str, keep_filenames: list):
    # 拼接匹配规则,仅匹配符合你命名规则的文件
    match_pattern = os.path.join(target_dir, "*_ABC")
    for file_path in glob.glob(match_pattern):
        # 从完整路径中提取纯文件名
        base_name = os.path.basename(file_path)
        # 不在保留列表则执行删除
        if base_name not in keep_filenames:
            os.remove(file_path)

# 调用示例
if __name__ == "__main__":
    # 替换为你实际的目标文件夹路径
    TARGET_FOLDER = "/path/to/your/target/folder"
    # 你的待保留文件名列表
    KEEP_LIST = ['65_ABC', '90_ABC']
    delete_unmatched_files(TARGET_FOLDER, KEEP_LIST)
  • 第一次运行前建议先把os.remove(file_path)替换为print(f"待删除:{base_name}"),先打印确认待删除列表符合预期,再执行实际删除操作,避免误删
  • 如果文件名带后缀(比如.txt/.png),把匹配规则改成*_ABC.*即可适配
  • 需要处理多个目标文件夹时,循环调用函数传入不同的目标路径即可

内容的提问来源于stack exchange,提问作者Haidepzai

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 13:06:03