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

如何筛选指定图片并在单/批量项目文件夹内创建子目录存储?

解决方案

1. 单个Project文件夹处理

用Python脚本可快速完成自动化操作,无需手动筛选复制:

import os
import shutil

# 定义要筛选的目标图片文件名
target_files = ["img_5", "img_10", "img_30", "img_88", "img_61"]
# 注意:如果图片带后缀(如.jpg/.png),需补充完整文件名,比如"img_5.jpg"

# 源文件夹路径
source_dir = "./Project"
# 目标子文件夹路径
dest_dir = os.path.join(source_dir, "the odd ones")

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

# 遍历源文件夹文件并复制目标文件
for filename in os.listdir(source_dir):
    file_path = os.path.join(source_dir, filename)
    if filename in target_files and os.path.isfile(file_path):
        shutil.copy2(file_path, os.path.join(dest_dir, filename))
        print(f"已复制:{filename}")

补充说明

  • shutil.copy2会保留文件元数据(如创建时间),若仅需复制文件内容,改用shutil.copy即可
  • 若Project文件夹不在脚本同目录,将source_dir改为绝对路径(如"D:/Work/Project")

2. 批量Projects_1至Projects_99文件夹处理

在单个文件夹逻辑基础上,增加批量遍历文件夹的逻辑即可:

import os
import shutil

target_files = ["img_5", "img_10", "img_30", "img_88", "img_61"]
# 同样注意:图片带后缀时需补充完整文件名

# 遍历当前目录下所有Projects_开头的文件夹
for dir_name in os.listdir("./"):
    dir_path = os.path.join("./", dir_name)
    if dir_name.startswith("Projects_") and os.path.isdir(dir_path):
        # 创建当前项目的目标子文件夹
        dest_dir = os.path.join(dir_path, "the odd ones")
        os.makedirs(dest_dir, exist_ok=True)
        
        # 复制指定图片到子文件夹
        for filename in os.listdir(dir_path):
            file_path = os.path.join(dir_path, filename)
            if filename in target_files and os.path.isfile(file_path):
                shutil.copy2(file_path, os.path.join(dest_dir, filename))
                print(f"已从{dir_name}复制:{filename}")

补充说明

  • 脚本会自动匹配所有Projects_前缀的文件夹,无需手动逐个处理
  • 若Projects文件夹集中在其他路径,将os.listdir("./")中的路径改为对应根目录即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 01:10:33