Python-文件差异对比

时间:2021-11-04 14:53:37

一.示例1: 比较text1与text2的差异

1.import difflib
text1 = 'hello a b'
text2 = 'hello  b'
text1_lines = text1.splitlines()
text2_lines = text2.splitlines()


2.创建diff对象,采用compare方法对字符串进行比较

d = difflib.Differ()
l = list(d.compare(text1_lines, text2_lines))


3.print list(diff)
print '\n'.join(l)文件差异对比


'-' 包含在第一个中,但不包含在第二个中
'+' 包含在第二个中,但不包含在第一个中
' ' 两者相同
'?' 两个存在增量差异
'^' 标志出两者行存在的差异字符文件差异对比


Python-文件差异对比



二.示例2:网页显示对比结果
d = difflib.HtmlDiff()
print d.make_file(text1_lines, text2_lines)


1.注:在执行此代码时,python xx.py > diff.html配置文件的差异对比

Python-文件差异对比


2.打开python xx.py > diff.html执行后的diff.html文件,有上角有一个对号,选择浏览器打开

Python-文件差异对比


3.打开后浏览器显示对比差异结果

Python-文件差异对比



三.思考:
有两个配置文件,通过html页面显示两个配置文件之间的差异。
思路:
先读取两个文件的内容;
比较文件内容的不同,和前面操作没区别。

1.shell执行python脚本

Python-文件差异对比


2.打开网页

Python-文件差异对比


3.对比结果

Python-文件差异对比



其他方法:

Python-文件差异对比