首页 > 代码库 > difflib文件差异对比
difflib文件差异对比
1、两个字符串差异对比:
#!/usr/bin/env python # -*- coding:utf-8 -*- import difflib text1 = ‘‘‘text1: This module provides classes and functions for comparing sequences. including HTML and context and unified diffs. difflib document v7.4 add string ‘‘‘ text1_lines = text1.splitlines() text2 = ‘‘‘text2: This module provides classes and functions for comparing sequences. including HTML and context and unified diffs. difflib document v7.5 add string ‘‘‘ text2_lines = text2.splitlines() d = difflib.Differ() diff = d.compare(text1_lines,text2_lines) print ‘\n‘.join(list(diff)) 结果:
[root@localhost test]# python a3.py - text1: ? ^ + text2: ? ^ This module provides classes and functions for comparing sequences. including HTML and context and unified diffs. - difflib document v7.4 ? ^ + difflib document v7.5 ? ^ add string [root@localhost test]#
2、生成HTML格式对比:
#!/usr/bin/env python # -*- coding:utf-8 -*- import difflib text1 = ‘‘‘text1: This module provides classes and functions for comparing sequences. including HTML and context and unified diffs. difflib document v7.4 add string ‘‘‘ text1_lines = text1.splitlines() text2 = ‘‘‘text2: This module provides classes and functions for comparing sequences. including HTML and context and unified diffs. difflib document v7.5 add string ‘‘‘ text2_lines = text2.splitlines() d = difflib.HtmlDiff() print d.make_file(text1_lines,text2_lines) python a3.py > diff.html 结果: 黄色部分代表差异的部分
3、对比文件差异:
#!/usr/bin/env python # -*- coding:utf-8 -*- import difflib import sys try: textfile1 = sys.argv[1] textfile2 = sys.argv[2] except Exception,e: print "Error:" + str(e) print "Usage: a3.py filename1 filename2" sys.exit() def readfile(filename): try: fileHandle = open(filename,‘rb‘) text = fileHandle.read().splitlines() fileHandle.close() return text except IOError as error: print (‘Read file Error:‘ + str(error)) sys.exit() if textfile1 == "" or textfile2 == "": print "Usage: a3.py filename1 filename2" sys.exit() text1_lines = readfile(textfile1) text2_lines = readfile(textfile2) d = difflib.HtmlDiff() print d.make_file(text1_lines,text2_lines) python a3.py install.log installl.log > diff2.html 结果: 黄色部分代表差异的部分
本文出自 “gswcfl” 博客,请务必保留此出处http://guoshiwei.blog.51cto.com/2802413/1928752
difflib文件差异对比
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。