判断文件名是否有重复的,若重复则输出两个文件夹名

import os

# 判断文件名是否有重复的,若重复则输出两个文件夹名
def Duplicate(file_Path, num):
    # f1为file_Path下文件,也就是第一层文件夹下的文件,
    # f2为file_Path + '\\' + f1下的文件,也就是第二层文件夹下的文件
    for f1 in os.listdir(file_Path):
        f1_path = file_Path + '\\' + f1
        for f2 in os.listdir(f1_path):
            print(f1_path, f2)
            # 文件夹内数目条件判断
            if num != len(os.listdir(f1_path)):
                print('不满足文件数目文件夹名:', f1_path)
            flag = 0  # flag = 0:是不存在文件相同的情况;flag = 1:是纯在文件相同的情况
            n = 0  # n为比较的次数,当n=‘第一层文件夹数目-1’时,代表f1文件夹的第一个文件与其他文件夹的文件不同
            # 文件重复判断:取f1的第一个文件名与其他文件夹内的文件名进行比对
            # f是用来作为对比的,相当于一个新的f1
            for f in os.listdir(file_Path):
                f_path = file_Path + '\\' + f
                if f_path != f1_path:
                    for i in os.listdir(f_path):
                        n = n + 1
                        if f2 == i:
                            print(f_path, '与', f1_path , '的', i, '文件名字相同')
                            flag = 1
                        if flag == 1:
                            break  # 跳出循环
            if flag == 1:
                break  # 跳出循环
            if n == 38:
                break  # 只比较第一个文件名与其他文件夹下的文件名
        print("------------------------------------------------------------")

Duplicate('F:\my_data\FX\Fun', 8925)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值