什么是difflib? 用来做什么?
difflib为python的标准库模块,无需安装。用于对比文本之间的差异。并且支持输出可读性比较强的HTML文档,与Linux下的diff 命令相似。在版本控制方面非常有用。
符号理解
符号 | 含义 |
---|---|
‘-’ | 包含在第一个系列行中,但不包含第二个。 |
‘+’ | 包含在第二个系列行中,但不包含第一个。 |
’ ’ | 两个系列行一致 |
‘?’ | 存在增量差异 |
‘^’ | 存在差异字符 |
import difflib
text1 = ''''1.2.3
3.4.5.6
6.7.8.9
9.0.1.2
'''.splitlines(keepends=False)
text2 = '''1.2.3
3.4.5.6
2.3.4.5
9.0.1.2
'''.splitlines(keepends=True)
##文本形式打印
#d = difflib.Differ()
#diff=d.compare(tex1,tex2)
#print(','.join(list(diff)))
##存储在文件内以html的形式打开
d = difflib.HtmlDiff()
htmlContent = d.make_file(text1,text2)
with open('/home/kiosk/html','w') as f:
f.write(htmlContent)
f.close()
splitlines()按照行分割,返回一个包含各行作为元素的列表参数
keepends=True 保留换行符
keepends=False 不包含换行符