使用python进行文件夹对比

最近写一个小脚本,在使用系统急救箱扫描并且处理完后,要将处理以后的样本和提供的标准进行对比
已经提供了样本与处理以后的文件,我要写的脚本就是启急救箱并且将两个文件夹进行比较
启动并且扫描比较好实现,但是在进行文件夹对比的时候走了一些弯路
上网查到python的标准库里有一个filecmp类,这个类可以对文件夹或者文件进行对比,使用起来还是比较方便的
filecmp官方文档/

使用最下面的例子程序,我又对其进行了扩充
我想达到的目的就是先对两个文件夹进行比较,输出不同的文件,然后再输出各自文件夹中独有的文件

#coding:gbk
from filecmp import dircmp


def show_diff_files(dcmp):
    for name in dcmp.diff_files:
        print "diff_file %s found in %s and %s" % (name, dcmp.left,dcmp.right)
    for sub_dcmp in dcmp.subdirs.values():
        show_diff_files(sub_dcmp)
        
def show_only(dcmp):
    if dcmp.left_only:
        ave_rst = 1
        for i in dcmp.left_only:
            print "%s只存在于%s中"%(i,dcmp.left)
    if dcmp.right_only:
        for i in dcmp.right_only:
            print "%s只存在于%s中"%(i,dcmp.right)
    for sub_dcmp in dcmp.subdirs.values():
        show_only(sub_dcmp)

def compare(dir1,dir2):
    dcmp = dircmp(dir1,dir2)
    show_diff_files(dcmp)
    show_only(dcmp)
    原文作者:kevinkelin
    原文地址: https://www.jianshu.com/p/104bf719d268
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞