一.示例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)文件差异对比


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


wKioL1m093DCneAXAAC7vxJ3vXk006.png



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


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

wKioL1m0-P-RebiSAABLbYUrGaA941.png


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

wKioL1m0-TaABodEAADNLNvGaUQ200.png


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

wKiom1m0-X6DnjEfAACoXhKGG10703.png



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

1.shell执行python脚本

wKioL1m0_geAkNg6AADXaUUph00903.png


2.打开网页

wKioL1m0_d6iVFLjAAF5tBwxGLA145.png


3.对比结果

wKioL1m0_iTTaWegAADRqoTkPEg613.png



其他方法:

wKiom1m0_TPBlmyyAACP_sDa3ws572.png