Python使用difflib模块比较两个文件内容异同,同时输出html易浏览

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python使用difflib模块比较两个文件内容异同,同时输出html易浏览相关的知识,希望对你有一定的参考价值。

因工作需求,需要对比连个文件异同,并输出html格式来对比。

#!/usr/bin/python
# -*- coding: utf-8 -*-

import sys
import difflib

def read_file(filename):
    try:
        with open(filename, ‘r‘) as f:
            return f.readlines()
    except IOError:
        print("ERROR: 没有找到文件:%s或读取文件失败!" % filename)
        sys.exit(1)

def compare_file(file1, file2, out_file):
    file1_content = read_file(file1)
    file2_content = read_file(file2)
    d = difflib.HtmlDiff()
    result = d.make_file(file1_content, file2_content)
    old_str=‘charset=ISO-8859-1‘
    new_str=‘charset=UTF-8‘
    with open(out_file, ‘w‘) as f:
        f.writelines(result.replace(old_str,new_str))

if __name__ == ‘__main__‘:
    compare_file(r‘d:\1\a.log‘, r‘d:\2\a.log‘, r‘d:\result.html‘)

输出为一个result.html文件,打开后已于浏览。

参考:Python--比较文件内容
python使用difflib对比文件示例
Python自动化运维笔记(四):使用difflib模块实现文件内容差异对比

以上是关于Python使用difflib模块比较两个文件内容异同,同时输出html易浏览的主要内容,如果未能解决你的问题,请参考以下文章

python difflib模块实现两个文件差异对比,并输出html格式。

二业务服务监控

python运维开发常用模块文件对比模块difflib

Python一起来找茬—difflib模块

python 有没有一个模块可以比较两个文本文件内容差异的?而且可以只输出差异的部分?

python difflib.md