文章目录
一、difflib简介
difflib
为 python 的标准库模块,无需安装。用于对比文本之间的差异。并且支持输出可读性比较强的HTML文档,类似Linux系统的diff 命令。
应用场景: 代码和配置文件差异对比。
HtmlDiff
类的make_file
方法可以生成美观的HTML文档。
二、文件内容对比差异
代码:
import difflib
def diff(f1, f2):
# 自动打开文件file1与file2
with open(f1) as f1:
content1 = f1.readlines()
with open(f2) as f2:
content2 = f2.readlines()
# 实例化
df = difflib.HtmlDiff()
return df.make_file(content1, content2)
if __name__ == '__main__':
f1 = 'doc/file1.txt'
f2 = 'doc/file2.txt'
# 差异
res = diff(f1, f2)
# 以写方式打开差异存放的html文件
fo = open('doc/diff_file.html', "w")
fo.write(res) # 写入
fo.close() # 关闭
源文档:
# doc/file1.txt
1234
5678
1234
# doc/file2.txt
浏览器打开结果展示: