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

Python使用shutil复制指定列表文件夹异常问题求助

问题解决:指定文件夹完整复制到目标目录

核心问题分析

原代码存在两个关键问题:

  • 匹配逻辑错误:通过路径结尾判断文件夹编号,会误匹配名称包含目标编号的文件夹(如test19116会被错误识别)
  • 复制路径错误:直接将源文件夹内容复制到目标根目录,而非创建对应文件夹后完整复制

修正后的代码

import os
import shutil

source_dir = input_folder_shp
dest_dir = folder_kgs
# 提前将编号转为字符串,避免循环内重复转换
target_folder_names = [str(num) for num in kg_code_list]

for folder_name in os.listdir(source_dir):
    source_path = os.path.join(source_dir, folder_name)
    # 仅处理目录,且名称完全匹配目标列表
    if os.path.isdir(source_path) and folder_name in target_folder_names:
        # 构造目标路径,确保完整复制整个文件夹
        target_path = os.path.join(dest_dir, folder_name)
        shutil.copytree(source_path, target_path, dirs_exist_ok=True)

关键修正说明

  • 提前将目标编号列表转为字符串,优化循环内操作效率
  • 直接判断文件夹名称是否属于目标列表,避免误匹配
  • 目标路径包含源文件夹名称,确保整个文件夹被复制到目标目录下,而非仅复制内部文件

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 14:24:29