Python实现批量找出两个文件夹中同名文件

要实现两个目录中同名文件的匹配并输出这些匹配文件的名称,可以使用以下Python脚本:

脚本:

python 复制代码
import os

# 定义两个文件夹路径
folder_A = r'I:\mydesk\file1'
folder_B = r'I:\mydesk\file2'

# 获取两个文件夹中的文件名
files_A = set(os.listdir(folder_A))
files_B = set(os.listdir(folder_B))

# 找到两个文件夹中同名的文件
common_files = files_A.intersection(files_B)

# 输出同名文件
if common_files:
    print("匹配到的同名文件如下:")
    for filename in common_files:
        print(f"File_A: {os.path.join(folder_A, filename)}")
        print(f"File_B: {os.path.join(folder_B, filename)}")
        print()
else:
    print("没有匹配到同名文件。")

脚本说明:

  1. 读取文件名
    • 使用 os.listdir(folder_A)os.listdir(folder_B) 获取两个目录中的文件名列表。
  2. 查找同名文件
    • 使用 setintersection 方法快速找到两个目录中相同的文件名。
  3. 输出路径
    • 使用 os.path.join(folder, filename) 构建完整路径并打印。

输出示例:

假设在两个目录中有文件名 data1.txtdata2.txt 同名,输出将如下:

复制代码
匹配到的同名文件如下:
File_A: I:\mydesk\file1\data1.txt
File_B: I:\mydesk\file2\data1.txt

File_A: I:\mydesk\file1\data2.txt
File_B: I:\mydesk\file2\data2.txt

使用方法:

  1. 将脚本保存为 .py 文件。
  2. 确保文件夹路径存在,且路径内的文件名没有特殊符号。
  3. 运行脚本,匹配的同名文件及其路径将被输出。
相关推荐
侃侃_天下12 小时前
最终的信号类
开发语言·c++·算法
echoarts13 小时前
Rayon Rust中的数据并行库入门教程
开发语言·其他·算法·rust
Aomnitrix13 小时前
知识管理新范式——cpolar+Wiki.js打造企业级分布式知识库
开发语言·javascript·分布式
每天回答3个问题14 小时前
UE5C++编译遇到MSB3073
开发语言·c++·ue5
伍哥的传说14 小时前
Vite Plugin PWA – 零配置构建现代渐进式Web应用
开发语言·前端·javascript·web app·pwa·service worker·workbox
小莞尔14 小时前
【51单片机】【protues仿真】 基于51单片机八路抢答器系统
c语言·开发语言·单片机·嵌入式硬件·51单片机
我是菜鸟0713号15 小时前
Qt 中 OPC UA 通讯实战
开发语言·qt
JCBP_15 小时前
QT(4)
开发语言·汇编·c++·qt·算法
Brookty15 小时前
【JavaEE】线程安全-内存可见性、指令全排序
java·开发语言·后端·java-ee·线程安全·内存可见性·指令重排序
百锦再15 小时前
[特殊字符] Python在CentOS系统执行深度指南
开发语言·python·plotly·django·centos·virtualenv·pygame