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

Python:基于文件名批量归类移动图片文件

按文件名特征批量归类移动图片的解决方案

嘿,我明白你现在的需求——已经能单独移动或者全移,但还没搞定按同类文件名特征分组移动对吧?比如把所有带_01后缀的图片都塞进folder 1,这个其实用Python写个小脚本就能轻松解决,而且灵活可调,适配不同的文件名规则。

下面我给你一步步拆解实现方法:

核心思路

我们要做的就是:

  • 遍历源文件夹里的所有图片
  • 从每个文件名里提取出分类特征(比如你例子里的_01部分)
  • 根据特征创建对应的目标文件夹(如果不存在的话)
  • 把图片移动到匹配的文件夹里

具体实现代码

假设你的图片都存在./source_images文件夹里,我们用Python的标准库os和shutil来完成操作:

import os
import shutil

# 配置路径:替换成你的源文件夹路径
source_dir = "./source_images"
# 目标根文件夹:所有分类文件夹会建在这里
target_root = "./classified_images"

# 确保目标根文件夹存在
os.makedirs(target_root, exist_ok=True)

# 遍历源文件夹里的所有文件
for filename in os.listdir(source_dir):
    # 只处理图片文件(可以根据需要添加其他格式,比如.png、.jpeg)
    if filename.lower().endswith((".jpg", ".jpeg")):
        # 提取分类特征:这里按你的例子,取下划线后面的部分(比如"1600_01.jpg" -> "01")
        # 分割文件名和扩展名
        name_part, ext_part = os.path.splitext(filename)
        # 按下划线分割,取最后一段作为特征
        feature = name_part.split("_")[-1]
        
        # 生成目标文件夹名:比如"01" -> "folder 1"
        folder_num = int(feature)  # 把"01"转成数字1
        target_folder = os.path.join(target_root, f"folder {folder_num}")
        
        # 确保目标文件夹存在
        os.makedirs(target_folder, exist_ok=True)
        
        # 拼接源文件路径和目标文件路径
        source_path = os.path.join(source_dir, filename)
        target_path = os.path.join(target_folder, filename)
        
        # 移动文件
        shutil.move(source_path, target_path)
        print(f"已移动:{filename} -> {target_folder}")

灵活调整规则

如果你的文件名特征不是下划线后面的数字,比如:

  • 要按文件名开头的前4位分组(比如1600_xx.jpg都进folder 1600):把提取特征的代码改成feature = name_part.split("_")[0]
  • 要按其他分隔符(比如-)分组:把split("_")改成split("-")
  • 特征是其他固定字符串:直接判断文件名是否包含某个关键词,比如if "_01" in filename,然后对应到指定文件夹

注意事项

  1. 运行脚本前最好先备份图片,避免误操作
  2. 如果你的图片有重名,shutil.move会覆盖目标文件夹里的同名文件,要是担心这个,可以加个判断:如果目标路径已存在,就给文件名加个后缀(比如1600_01_副本.jpg)
  3. 路径要写对,Windows系统的路径用\\或者原始字符串(比如r"C:\source_images")

这样就能完美实现你要的同类特征文件名归类啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 06:34:51