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

如何用Python移动含GOOD的图片并复制含BAD的图片?

Python实现含关键词图片的移动与复制

核心思路

抛弃startswith(),直接用in运算符判断文件名中是否包含目标关键词("GOOD"或"BAD"),结合shutil模块完成文件移动和复制操作,适配关键词在文件名任意位置的场景。

完整代码示例

import os
import shutil

# 替换为你的实际路径
source_dir = "/path/to/source/images"
good_target_dir = "/path/to/good/images"
bad_target_dir = "/path/to/bad/images"

# 自动创建目标文件夹(不存在则生成)
os.makedirs(good_target_dir, exist_ok=True)
os.makedirs(bad_target_dir, exist_ok=True)

# 遍历源文件夹内的所有条目
for filename in os.listdir(source_dir):
    full_path = os.path.join(source_dir, filename)
    # 只处理文件,跳过子文件夹
    if not os.path.isfile(full_path):
        continue
    
    # 根据关键词执行对应操作
    if "GOOD" in filename:
        shutil.move(full_path, os.path.join(good_target_dir, filename))
        print(f"已移动:{filename}")
    elif "BAD" in filename:
        shutil.copy2(full_path, os.path.join(bad_target_dir, filename))
        print(f"已复制:{filename}")

代码说明

  • os.makedirs(..., exist_ok=True):确保目标文件夹存在,避免因文件夹未创建报错
  • "GOOD" in filename:直接检测关键词是否存在于文件名中,不受关键词位置限制
  • shutil.move():将文件移动到目标文件夹,原文件会从源目录删除
  • shutil.copy2():复制文件同时保留原文件的元数据(如创建时间、修改时间)
  • os.path.isfile():过滤掉源文件夹中的子目录,只处理图片文件

注意事项

  1. 务必替换代码中的路径为你的实际文件夹路径
  2. 若目标文件夹存在同名文件,默认会直接覆盖;如需避免覆盖,可在操作前用os.path.exists()判断目标路径,再做重命名处理
  3. 确保Python进程对源文件夹和目标文件夹有读写权限

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 06:25:11