一、什么是difflib?
difflib为python的标准库模块,无需安装。
作用:对比文本之间的差异。
并且支持输出可读性比较强的HTML文档,与Linux下的diff 命令相似。
由difflib执行比较,比较的结果放到了一个html里面,只要找个浏览器打开此html文件,就能直观地看到比较结果,两份文件有差异的地方会高亮显示出来。
在版本控制方面非常有用。
二、比较方式
使用Differ进行字符串比较:
''.join(list(difflib.Differ().compare(text1,text2)))#比较两个字符串内容,输出不同内容
使用HtmlDiff统计:
d = difflib.HtmlDiff() #创建HtmlDiff对象
d.make_file(content1,content2) #通过make_file方法输出html格式的对比结果
三、 符号理解
符号 | 含义 |
‘-’ | 包含在第一个系列行中,但不包含第二个。 |
‘+’ | 包含在第二个系列行中,但不包含第一个。 |
’ ’ | 两个系列行一致。 |
‘?’ | 存在增量差异。 |
‘^’ | 存在差异字符。 |
四、常用参数讲解
splitlines() 按照行分割,返回一个包含各行作为元素的列表
keepends=True 保留换行符
keepends=False 不包含换行符
五、实例
使用Differ进行字符串比较:
结果:
结果:
使用HtmlDiff统计:
代码:
结果:
生成html语言文本:
以网页形式打开: