#############difflib##############

文件差异对比

示例1:

import difflib

text1 = 'hello westos'

text2 = 'hello zhan'

text1_lines = text1.splitlines()

text2_lines = text2.splitlines()

# 创建diff对象

d = difflib.Differ()

# 采用compare方法对字符串进行比较

diff = d.compare(text1_lines, text2_lines)

# print list(diff)

print '\n'.join(list(diff))

text1='''root:x:0:wfew0:root:/root:/bin/bash

bin:x:1fw:1:bin:/bin:/sbwefwin/nologin

daemon:xw:2:2:daefwmon:/sbin:/sbin/nologin

adm:x:3:4:adwfwfm:/var/adm:/sbin/nologin

lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

synsfwfsc:x:5:0:sync:/sbin:/bin/sync

shautdowfwfwn:x:6:0:shutdown:/sbin:/sbin/shutdown

halt:x:7:0:halt:/sbin:/sbin/halt

'''

text2='''rot:x:0:0:root:/root:/bin/bash

bin:x:1:1:bi:/bin:/sbin/nologindaem

on:x:2:2:daemon:/sbin:/sbin/login

adm:x:3:4:adm:var/adm:/sbin/nolog

lp:x:4:7:lp:/var/spool/lpd:/sbin/nolo

gisync:x:5:0:sync:/sbin:/bin/sync

utdown:x:6:0:shtdown:/sbin:/sbin/shutdown

halt:x:7:0:halt:/sbin:/sbin/halt

'''

第一种方法

import difflib

text1_lines=text1.splitlines()

text2_lines=text2.splitlines()

d=difflib.Differ()

a=d.compare(text1_lines,text2_lines)

a=list(a)

print '\n'.join(a)

测试:

第二种方法

import difflib

text1_lines=text1.splitlines()

text2_lines=text2.splitlines()

# d=difflib.Differ()

# a=d.compare(text1_lines,text2_lines)

# a=list(a)

# print '\n'.join(a)

d=difflib.HtmlDiff()

htmldata=d.make_file(text1_lines,text2_lines)

with open('/root/Desktop/data.html','a+') as f:

f.write(htmldata)

测试:

文件差异对比

'-' 包含在第一个中,但不包含在第二个中

'+' 包含在第二个中,但不包含在第一个中

' ' 两者相同

'?' 两个存在增量差异

'^' 标志出两者行存在的差异字符

python中difflib_python中的difflib相关推荐

  1. 如何用python读取文本中指定行的内容

    如何用python读取文本中指定行的内容 搜索资料 我来答 分享 新浪微博 QQ空间 浏览 5284 次 查看全文 http://www.taodudu.cc/news/show-64036.ht ...

  2. Python 获取list 中指定元素出现的次数

    Python 获取list 中指定元素出现的次数 使用list 的count 方法 list_a = [1, 2, 3, 1, 4, 5, 1] print("1 出现的次数: %d&quo ...

  3. python删除指定位置的字符串_python去除区域 python删除字符串中指定位置字符

    python删除字符串中指定位置字符 原程序是这样的: ser = serial.Serial("/dev/ttyAMA0", 9600) def main字符串的话,你可以把他当 ...

  4. python 物理学中的应用_利用python求解物理学中的双弹簧质能系统详解

    前言 本文主要给大家介绍了关于利用python求解物理学中双弹簧质能系统的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 物理的模型如下: 在这个系统里有两个物体,它们的质 ...

  5. Python,OpenCV中的图像修复——cv2.inpaint()

    Python,OpenCV中的图像修复--cv2.inpaint 1. 效果图 2. 原理 3. 源码 参考 image inpainting 图像修改 这篇博客将介绍如何通过OpenCV中图像修复的 ...

  6. Python,OpenCV中的K均值聚类——K-Means Cluster

    Python,OpenCV中的K均值聚类 1. 效果图 2. 原理 2.1 什么是K均值聚类? 2.2 K均值聚类过程 2.3 cv2.kmeans(z, 2, None, criteria, 10, ...

  7. Python,OpenCV中的霍夫圆变换——cv2.HoughCircles()

    Python,OpenCV中的霍夫圆变换 1. 效果图 2. 源码 参考 这篇博客将学习如何使用霍夫圆变换在图像中找到圆圈,OpenCV使用cv2.HoughCircles()实现霍夫圆变换. cir ...

  8. Python,OpenCV中的非局部均值去噪(Non-Local Means Denoising)

    Python,OpenCV中的非局部均值去噪(Non-Local Means Denoising) 1. 效果图 2. 原理 3. 源码 2.1 单彩色图去噪 2.2 多连续彩色帧去噪 参考 这篇博客 ...

  9. Python,OpenCV中的K近邻(knn K-Nearest Neighbor)及改进版的K近邻

    Python,OpenCV中的K近邻(knn K-Nearest Neighbor)及改进版的K近邻 1. 效果图 2. 源码 参考 这篇博客将介绍将K-最近邻 (KNN K-Nearest Neig ...

最新文章

  1. 硬件平台上深度学习自动内核优化
  2. 普通的年轻状态机,纯C语言
  3. c语言虚函数是什么,C语言中什么函数不能声明为虚函数?
  4. win7磁盘清理_window7越来越卡?系统残余文件太多,磁盘清理可以搞定!!
  5. 2014/School_C_C++_A/6/“数独”游戏
  6. mybatis3中@SelectProvider的使用技巧
  7. “有些重要的事要告诉你” !小米春季新品发布会定档3月29日
  8. AI2想从常识测试开始让AI理解物理世界,数据集已公布
  9. 新道电子沙盘系统_电子沙盘系统在房地产开发与销售过程中的优势
  10. ElasticStack系列之九 master、data 和 client 节点
  11. (转载)Memcached预定义常量
  12. 用户常见的问题以及特殊技术问题
  13. 标学教育计算机等级考试系统,标学教育电脑版
  14. Google Ads关键词不展示原因及解决方案
  15. 审批流程展示html,审批流程图怎么绘制?不懂可以看这里
  16. 【raft】学习五:日志结构raftLog
  17. php扩展库后门,编写基于PHP扩展库的后门
  18. 智能家居远程监控系统的设计及实现
  19. 天刀服务器维护时间,《天涯明月刀》2021年3月10日服务器例行维护公告 服务器例行维护怎么样...
  20. C/C++ memset使用

热门文章

  1. Hadoop权威指南 _01前言感悟
  2. PAT1001 A+B Format (20 分)
  3. netty系列之:使用UDP协议
  4. 万字长文深入理解java中的集合-附PDF下载
  5. DPDK精准测量时间
  6. Leet Code OJ 338. Counting Bits [Difficulty: Medium]
  7. 用与非门设计血型配对电路_电路板中与非门集成电路的控制原理
  8. mysql分析sql语句基础工具 —— explain
  9. 【解题报告】Leecode 519. 随机翻转矩阵——Leecode每日一题系列
  10. 【三次优化】剑指 Offer 35. 复杂链表的复制