广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python比较两个文件的差异
  • 801
分享到

python比较两个文件的差异

差异两个文件 2023-01-31 05:01:03 801人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

使用python脚本比较两个文件的差异内容并输出到html文档中,可以通过浏览器打开查看。一、脚本使用对比Nginx配置文件的差异 Python python_diff_file.py -f1 WEB26.conf -f2 web103.c


使用python脚本比较两个文件的差异内容并输出到html文档中,可以通过浏览器打开查看。

一、脚本使用

  1. 对比Nginx配置文件的差异

 Python python_diff_file.py -f1 WEB26.conf -f2 web103.conf

二、脚本内容

#!/usr/bin/python
# -*- coding: utf-8 -*-
"""
1.difflib的HtmlDiff类创建html表格用来展示文件差异,通过make_file方法
2.make_file方法使用
make_file(fromlines, tolines [, fromdesc][, todesc][, context][, numlines])
用来生成一个包含表格的html文件,其内容是用来展示差异。
fromlines和tolines,用于比较的内容,格式为字符串组成的列表
fromdesc和todesc,可选参数,对应的fromlines,tolines的差异化文件的标题,默认为空字符串
context 和 numlines,可选参数,context 为True时,只显示差异的上下文,为false,显示全文,numlines默认为5,
当context为True时,控制展示上下文的行数,当context为false时,控制不同差异的高亮之间移动时“next”的开始位置
3.使用argparse传入两个需要对比的文件
"""
import difflib
import argparse
import sys

# 创建打开文件函数,并按换行符分割内容
def readfile(filename):
    try:
        with open(filename, 'r') as fileHandle:
            text = fileHandle.read().splitlines()
        return text
    except ioError as e:
        print("Read file Error:", e)
        sys.exit()

# 比较两个文件并输出到html文件中
def diff_file(filename1, filename2):
    text1_lines = readfile(filename1)
    text2_lines = readfile(filename2)
    d = difflib.HtmlDiff()
    # context=True时只显示差异的上下文,默认显示5行,由numlines参数控制,context=False显示全文,差异部分颜色高亮,默认为显示全文
    result = d.make_file(text1_lines, text2_lines, filename1, filename2, context=True)
    # 内容保存到result.html文件中
    with open('result.html', 'w') as resultfile:
        resultfile.write(result)
    # print(result)


if __name__ == '__main__':
    # 定义必须传入两个参数,使用格式-f1 filename1 -f2 filename
    parser = argparse.ArgumentParser(description="传入两个文件参数")
    parser.add_argument('-f1', action='store', dest='filename1', required=True)
    parser.add_argument('-f2', action='store', dest='filename2', required=True)
    given_args = parser.parse_args()
    filename1 = given_args.filename1
    filename2 = given_args.filename2
    diff_file(filename1, filename2)

三、对比结果

wKioL1hJAeiyb5LHAABgA5Dyjrg370.png-wh_50

wKiom1hJAenhteM_AACBZJG7sIM148.png-wh_50


--结束END--

本文标题: python比较两个文件的差异

本文链接: https://www.lsjlt.com/news/189254.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python比较两个文件的差异
    使用python脚本比较两个文件的差异内容并输出到html文档中,可以通过浏览器打开查看。一、脚本使用对比nginx配置文件的差异 python python_diff_file.py -f1 web26.conf -f2 web103.c...
    99+
    2023-01-31
    差异 两个 文件
  • python怎么比较两个文件的差异
    在Python中,可以使用difflib模块来比较两个文件的差异。difflib模块提供了一些用于比较文件、字符串和序列的方法。 下...
    99+
    2023-10-28
    python
  • python比较两个excel表格的差异
    一个同事有两个excel表格要比较差异, 找了一下有相关软件,如: beyond compare, excel compare但这两个似乎都是直接排序再比较的.然后没办法,就用python折腾了一个脚本. 这个脚本先读入要比较的文件中的表....
    99+
    2023-01-31
    表格 差异 两个
  • java比较两个json文件的差异及说明
    目录比较两个json文件的差异推荐java目前比较常用的4个json库一、什么是JSON?二、常用的四种JSON库比较两个json文件的差异 其实是以第一个json文件为准,查看第二...
    99+
    2022-11-13
  • java中Javers 比较两个类的差异
    目录Javers引入方法:示例遇到的问题:BigDecimalDate相关注解Javers 在开发过程中遇到需求,比较数据库中的原数据与新修改要写入库中的数据。这个实体类是比较复杂的...
    99+
    2022-11-13
  • oracle怎么比较两个表的差异
    要比较两个Oracle表的差异,可以使用以下方法:1. 使用MINUS运算符:在Oracle中,可以使用MINUS运算符来比较两个表...
    99+
    2023-08-09
    oracle
  • ultraedit怎么对比两个文件的差异
    这篇文章主要介绍“ultraedit怎么对比两个文件的差异”,在日常操作中,相信很多人在ultraedit怎么对比两个文件的差异问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”ultraedit怎么对比两个文件...
    99+
    2023-07-01
  • Python-文件差异对比
    一.示例1: 比较text1与text2的差异1.import difflibtext1 = 'hello a b'text2 = 'hello  b'text1_lines = text1.splitlines()text2_lines ...
    99+
    2023-01-31
    差异 文件 Python
  • Java Stream比较两个List的差异,并取出不同的对象
    可以使用Java8的Stream API来比较两个List的差异,并取出不同的对象。 方式一具体步骤如下:   1. 将两个List转换为Stream类型;   2. 调用Stream的filter方法,将不同的对象过滤出来;   ...
    99+
    2023-09-02
    java list
  • C#高效比较两个DataTable数据差异化的方法实现
    假如有两个DataTable表格分别是dt1,dt2,dt2中有些数据跟dt1一样,现在想找出dt2的数据在dt1中不存在的数据集(换句话也可以说dt2删除已经存在于dt1中的数据)...
    99+
    2022-11-13
  • python对比配置文件差异
    #!/usr/bin/env python import difflibimport sys try:tx1 = sys.argv[1]tx2 = sys.argv[2]except Exception as e:print "error"...
    99+
    2023-01-31
    配置文件 差异 python
  • PHP的array_diff()函数:如何比较两个数组并返回差异值
    PHP的array_diff()函数:如何比较两个数组并返回差异值,需要具体代码示例在PHP语言中,数组是最为常见的数据结构之一,常常用于存储一组数据或记录。当需要对比两个数组之间的差异时,PHP提供了一个便捷的函数array_diff()...
    99+
    2023-11-03
    PHP array_diff() 关键词: 比较数组差异
  • Java对比两个实体的差异分析
    目录对比两个实体的差异可以用与一下方法比较两个实体类及属性差异工具类(简版)思路对比两个实体的差异 对比2个实体的值是否一致 可以用与一下方法 package com.xx; i...
    99+
    2022-11-12
  • 使用Visual Studio进行文件差异比较的示例分析
    这篇文章主要介绍了使用Visual Studio进行文件差异比较的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。启动VS自带的文件差异比较工具,进行代码文本比较,省去...
    99+
    2023-06-20
  • 使用Visual Studio进行文件差异比较的问题小结
    启动VS自带的文件差异比较工具,进行代码文本比较,省去安装第三方工具的麻烦。 一、启动VS命令窗口。 依次点击菜单【视图】>>【其它窗口】>>【命令窗口】,如...
    99+
    2022-11-12
  • 详解Python如何实现对比两个Excel数据差异
    目录1、引言2、代码实战3、总结1、引言 小丝:鱼哥,还记得上次写的把数据库的查询结果写入到excel这个脚本不。 小鱼:嗯… 可以说不记得吗 小丝:我猜你就记得。 小...
    99+
    2022-12-08
    Python对比Excel数据差异 Python对比数据差异 Python 数据差异
  • 怎么在linux 中比较两个文件夹不同
    怎么在linux 中比较两个文件夹不同?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。比较文件夹diff,可以直接使用diff命令[root@~]# diff -...
    99+
    2023-06-09
  • linux中怎么比较两个文件是否一样
    linux中怎么比较两个文件是否一样,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1、简介MD5算法常常被用来验证网络文件传输的完整性,防止文件被人篡改。MD5 全称是报文...
    99+
    2023-06-13
  • Python比较两个日期的两种方法详解
    目录datetimestrptime之前我们曾经分享过:Python获取某一日期是“星期几”的6种方法!实际上,在我们使用Python处理日期/时间的时候,经...
    99+
    2022-11-11
  • Python 比较两个日期的多种方法!
    人生苦短,快学Python!datetime如果需要用Python处理日期和时间,大家肯定会先想到datetime、time、calendar等模块。在这其中,datetime模块主要是用来表示日期时间的,就是我们常说的年月日/时分秒。da...
    99+
    2023-05-14
    Python 命令 日期
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作