difflib为python的标准库模块,无需安装
作用是对比文本之间的差异,并且支持输出可读性比较强的HTML文档,与Linux下的diff 命令相似。
difflib模块提供的类和方法用来进行序列所谓差异化比较,能够对比文件并称成差异结果文件或html 格式差异化比较页面
1.对比文件生成差异结果的文本
生成的差异文本中的符号理解
符号 | 含义 |
---|---|
‘-’ | 包含在第一个系列行中,但不包含第二个 |
‘+’ | 包含在第二个系列行中,但不包含第一个 |
’ ’ | 两个系列行一致 |
‘?’ | 存在增量差异 |
‘^’ | 存在差异字符 |
先将文本内容按行分割
text1 = splitlines(keepends=False) #将多行文本按行分割,返回一个列表不保留行尾换行符
text2 = splitlines(keepends=True) #将多行文本按行分割,返回一个列表保留行尾换行符
生成差异结果文件
import difflib #导入模块
diff = difflib.Differ() #生成差异对象
result = diff.compare(text1,text2) #使用差异对象比较两个文本列表的差异,生成差异结果对象
生成的差异对象不能直接查看,需要转化成列表并生成链接文本
mport difflib
text1 = ''' 1. Beautiful is better t