Python自动化运维_文件内容差异对比分析


Posted in Python onDecember 13, 2017

模块:difflib

安装:Python版本大于等于2.3系统自带

功能:对比文本之间的差异,而且支持输出可读性比较强的HTML文档,与Linux中的diff命令比较相似。

两个字符串的差异对比:

#import difflib
 
#text1='''
 
#hello world.
 
#how are you.
 
#nice to meet you.
 
#'''
 
#text1_lines=text1.splitlines() # 以行进行分割,便于进行对比
 
#text2='''
 
#Hello World.
 
#how are you!
 
#Nice to meet you~
 
#'''
 
#text2_lines=text2.splitlines() # 以行进行分割,便于进行对比
 
#dif1=difflib.Differ() # 创建Differ() 对象
 
#diff1=dif1.compare(text1_lines,text2_lines) # 采用compare() 方法对字符串进行比较
 
#print('\n'.join(list(diff1)))

此外difflib 还有SequenceMatcher()类,此类支持任意类型序列的比较;还有HtmlDiff() 类,此类支持将比较结果以HTML格式输出。

符号含义说明:

符号

含义

'-'

包含在第一个序列行中,但不包含在第二个序列行

'+'

包含在第二个序列行中,但不包含在第一个序列行

' '

两个序列行一致

'?'

标志两个序列行存在增量差异

'^'

标志出两个序列行存在的差异字符

生成HTML格式文档:

#import difflib
#text1='''
 
#hello world.
 
#how are you.
 
#nice to meet you.
 
#'''
 
#text1_lines=text1.splitlines() # 以行进行分割,便于进行对比
 
#text2='''
 
#Hello World.
 
#how are you!
 
#Nice to meet you~
 
#'''
 
#text2_lines=text2.splitlines() # 以行进行分割,便于进行对比
 
#d=difflib.HtmlDiff()
 
#print(d.make_file(text1_lines,text2_lines))
 
# 之后使生成的文件变为 .html即可使用浏览器查看

对比配置文件差异:

#import difflib
 
#import os
 
#try:
 
# textfile1=sys.argv[1] # 第1个配置文件路径参数
 
# textfile2=sys.argv[2] # 第2个配置文件路径参数
 
#except Exception,e:
 
# print('Error:'+str(e))
 
# print('使用:脚本名.py filename1 filename2')
 
# sys.exit()
 
#def readfile(filename): # 文件读取分隔函数
 
# try:
 
# fileHandle=open(filename,'rb')
 
# text=fileHandle.read().splitlines() # 读取后按行进行分隔
 
# fileHandle.close()
 
# return text
 
# except IOError as error:
 
# print('读取文件错误:'+str(error))
 
# sys.exit()
 
#if textfile1=='or textfile2==':
 
# print('使用:脚本名.py filename1 filename2')
 
# sys.exit()
 
#text1_lines=readfile(textfile1) # 调用readfile获取分隔后的字符串
 
#text2_lines=readfile(textfile2)
 
#d=difflib.HtmlDiff() # 创建HtmlDiff() 类对象
 
#print(d.make_file(text1_lines,text2_lines)) # 通过make_file() 方法输出HTML格式的结果

以上这篇Python自动化运维_文件内容差异对比分析就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
跟老齐学Python之类的细节
Oct 13 Python
Windows系统下使用flup搭建Nginx和Python环境的方法
Dec 25 Python
Python解析最简单的验证码
Jan 07 Python
Python中的并发处理之asyncio包使用的详解
Apr 03 Python
python爬虫超时的处理的实例
Dec 19 Python
Python3 使用cookiejar管理cookie的方法
Dec 28 Python
Python函数中参数是传递值还是引用详解
Jul 02 Python
Python Request爬取seo.chinaz.com百度权重网站的查询结果过程解析
Aug 13 Python
python 图片二值化处理(处理后为纯黑白的图片)
Nov 01 Python
python3读取csv文件任意行列代码实例
Jan 13 Python
Python实现寻找回文数字过程解析
Jun 09 Python
用Python selenium实现淘宝抢单机器人
Jun 18 Python
Python实现自动发送邮件功能
Mar 02 #Python
django站点管理详解
Dec 12 #Python
Django 生成登陆验证码代码分享
Dec 12 #Python
python+django加载静态网页模板解析
Dec 12 #Python
Django入门使用示例
Dec 12 #Python
django使用html模板减少代码代码解析
Dec 12 #Python
Python使用三种方法实现PCA算法
Dec 12 #Python
You might like
介绍php设计模式中的工厂模式
2008/06/12 PHP
基于PHP的cURL快速入门教程 (小偷采集程序)
2011/06/02 PHP
php中strstr、strrchr、substr、stristr四个函数的区别总结
2014/09/22 PHP
thinkphp的URL路由规则与配置实例
2014/11/26 PHP
PHP中quotemeta()函数的用法讲解
2019/04/04 PHP
Prototype 学习 工具函数学习($方法)
2009/07/12 Javascript
纯JS实现的批量图片预览加载功能
2011/08/14 Javascript
web性能优化之javascript性能调优
2012/12/28 Javascript
jQuery 无刷新分页实例代码
2013/11/12 Javascript
Vuejs第十三篇之组件——杂项
2016/09/09 Javascript
jQuery实现淡入淡出的模态框
2017/02/09 Javascript
React中ES5与ES6写法的区别总结
2017/04/21 Javascript
浅谈vue-router2路由参数注意的问题
2017/11/08 Javascript
Vue项目中使用Vux的安装过程
2018/05/01 Javascript
vue 使用高德地图vue-amap组件过程解析
2019/09/07 Javascript
vue使用swiper实现左右滑动切换图片
2020/10/16 Javascript
js动态生成表格(节点操作)
2021/01/12 Javascript
[30:55]完美世界DOTA2联赛PWL S2 Magma vs LBZS 第二场 11.18
2020/11/18 DOTA
python使用PyFetion来发送短信的例子
2014/04/22 Python
Python实现的个人所得税计算器示例
2018/06/01 Python
深入分析python中整型不会溢出问题
2018/06/18 Python
Python实现求两个数组交集的方法示例
2019/02/23 Python
python并发编程多进程 互斥锁原理解析
2019/08/20 Python
python实现输入的数据在地图上生成热力图效果
2019/12/06 Python
Pytorch转keras的有效方法,以FlowNet为例讲解
2020/05/26 Python
Python unittest装饰器实现原理及代码
2020/09/08 Python
瑞士香水购物网站:Parfumcity.ch
2017/01/14 全球购物
美国高端寝具品牌:Coyuchi
2017/02/08 全球购物
家得宝墨西哥官网:The Home Depot墨西哥
2019/11/18 全球购物
两道JAVA笔试题
2016/09/14 面试题
2014年教师节寄语
2014/04/03 职场文书
总经理助理岗位职责范本
2014/07/20 职场文书
2014年网络管理员工作总结
2014/12/01 职场文书
2015最新学生自我评价范文
2015/03/03 职场文书
运动与健康自我评价
2015/03/09 职场文书
2015年幼师个人工作总结
2015/10/15 职场文书