import os import shutil def copy_matching_files(folder_A, folder_B, folder_C): """ 将文件夹A和文件夹B中同名的文件复制到文件夹C 参数: folder_A: 第一个文件夹路径 folder_B: 第二个文件夹路径 folder_C: 目标文件夹路径 """ # 确保目标文件夹存在 if not os.path.exists(folder_C): os.makedirs(folder_C) print(f"创建目标文件夹: {folder_C}") try: # 获取两个文件夹中的文件列表(不包含目录) print("A") files_A = [f for f in os.listdir(folder_A) if os.path.isfile(os.path.join(folder_A, f))] print("A") files_B = [f for f in os.listdir(folder_B) if os.path.isfile(os.path.join(folder_B, f))] print(files_B) # 找出两个文件夹中同名的文件 common_files = set(files_A) & set(files_B) # common_files = set(files_A) - set(files_B) if not common_files: print("未找到同名文件。") return # 复制同名文件到文件夹C copied_count = 0 for file_name in common_files: # 这里选择从folder_A复制,你也可以改为从folder_B复制或同时复制两个版本 source_path = os.path.join(folder_A, file_name) dest_path = os.path.join(folder_C, file_name) shutil.copy2(source_path, dest_path) print(f"已复制: {file_name}") copied_count += 1 print(f"\n复制完成!共复制 {copied_count} 个文件。") except Exception as e: print(f"操作出错: {e}") # 使用示例 if __name__ == "__main__": # 请修改为你的实际路径 folder_A = r"R:\TYSAR-德清院\B-模型处理-预标注\20250818-不分类-处理20250906\人工检查\Group_6\png_txt" # 替换为第一个文件夹路径 folder_B = r"R:\TYSAR-德清院\B-模型处理-预标注\20250818-不分类-处理20250906\人工检查\剔除空标注\G6" # 替换为第二个文件夹路径 folder_C = r"R:\TYSAR-德清院\B-模型处理-预标注\20250818-不分类-处理20250906\人工检查\Group_6\d" # 替换为目标文件夹路径 copy_matching_files(folder_A, folder_B, folder_C)