【Python21】文件内容差异对比(difflib模块)

一、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

浏览器打开结果展示:

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_46069582/article/details/114778760