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

如何通过遍历文件夹名称列表复制存在的目标文件夹?

优化复制替换文件夹的Python实现

完全可以通过定义文件夹名称列表并遍历的方式实现需求,这样既能避免重复代码,又能灵活控制要复制的文件夹,还能自动跳过源目录中不存在的项。

优化后的代码实现

import os
import shutil

def copy_and_replace(directory):
    # 定义需要处理的文件夹列表,新增/修改只需调整这里
    FOLDERS_TO_COPY = ['src', 'public', 'specs', 'assets']
    
    for folder in FOLDERS_TO_COPY:
        source = os.path.join('..', 'source', directory, folder)
        target = os.path.join('workspace', directory, folder)
        
        # 先检查源文件夹是否存在,不存在则跳过
        if not os.path.isdir(source):
            print(f"Source folder not found, skipping: {source}")
            continue
            
        try:
            # 目标存在则删除
            if os.path.isdir(target):
                shutil.rmtree(target)
                print(f"Removed existing directory: {target}")
            # 复制文件夹
            shutil.copytree(source, target)
            print(f"Copied directory successfully: {target}")
            
        except OSError as o:
            print(f"Error handling {folder} in {directory}: {o.strerror}")

关键优化点

  • 代码复用:通过遍历列表,把重复的复制/替换逻辑统一到循环里,避免重复编写相同代码
  • 灵活可控:后续要新增或移除文件夹,只需修改FOLDERS_TO_COPY列表,无需改动核心逻辑
  • 存在性检查:先判断源文件夹是否存在,不存在直接跳过,避免无效操作和不必要的错误
  • 精准错误提示:异常信息会明确指出是哪个文件夹出了问题,方便排查

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 21:45:59