使用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)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,463评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,625评论 25 709
  • 夜以深,多少人卸下了伪装一天的面具来展现出真实的自己,温文尔雅之人露出自己放荡不羁的个性,嘻哈爱笑之人露出自己安静...
    Jachinzhao阅读 3,411评论 0 0
  • 时光蒹葭,清浅如画。旧年间的清晨,黄花满地,风带着小狗,吹散了短发; 时光旖旎,半生清欢。旧年间的午后,灼热烤地,...
    7月与7月阅读 3,211评论 0 3
  • 初冬的城市,还是如春沐浴,还是暖暖花开,还是青翠如夏。 来了一场说走就走的欢聚,在见时,我们已是半老徐娘。 最好的...
    华华雯雯阅读 1,690评论 0 1