Python运维自动化之nginx配置文件对比操作示例


Posted in Python onAugust 29, 2018

本文实例讲述了Python运维自动化之nginx配置文件对比操作。分享给大家供大家参考,具体如下:

文件差异对比diff.py

#!/usr/bin/env python
#
import difflib
import sys
try:
  textfile1=sys.argv[1]
  textfile2=sys.argv[2]
except exception,e:
  print "Error:"+str(2)
  print "Usge: difflib.py file1 file2"
  sys.exit()
def readfile(filename):
  try:
    fileHandle=open(filename,'rb')
    text=fileHandle.read().splitlines()
    fileHandle.close()
    return text
  except IOError as error:
    print ('read file Error:'+str(error))
    sys.exit()
if textfile1=="" or textfile2=="":
  print "usege :difflib.py file1 file2"
  sys.exit()
text1_lines=readfile(textfile1)
text2_lines=readfile(textfile2)
d = difflib.HtmlDiff()
print d.make_file(text1_lines, text2_lines)
#python diff.py nginx1.conf nginx2.conf > diff.html

Python运维自动化之nginx配置文件对比操作示例

利用的是difflib模块,Python2.3以上版本自带的库

Python 相关文章推荐
用Python代码来绘制彭罗斯点阵的教程
Apr 03 Python
python正则表达式之作业计算器
Mar 18 Python
基于pycharm导入模块显示不存在的解决方法
Oct 13 Python
对python周期性定时器的示例详解
Feb 19 Python
python 使用matplotlib 实现从文件中读取x,y坐标的可视化方法
Jul 04 Python
python实现kNN算法识别手写体数字的示例代码
Aug 16 Python
基于Python实现签到脚本过程解析
Oct 25 Python
python实现XML解析的方法解析
Nov 16 Python
基于pycharm实现批量修改变量名
Jun 02 Python
PyQt中使用QtSql连接MySql数据库的方法
Jul 28 Python
解决Python 函数声明先后顺序出现的问题
Sep 02 Python
Python中的min及返回最小值索引的操作
May 10 Python
python单例模式实例解析
Aug 28 #Python
Python3.7实现中控考勤机自动连接
Aug 28 #Python
python实现遍历文件夹修改文件后缀
Aug 28 #Python
Python绘制正余弦函数图像的方法
Aug 28 #Python
Python logging模块用法示例
Aug 28 #Python
Python异常处理操作实例详解
Aug 28 #Python
Python封装原理与实现方法详解
Aug 28 #Python
You might like
xml+php动态载入与分页
2006/10/09 PHP
PHP在字符串中查找指定字符串并删除的代码
2008/10/02 PHP
PHP中使用gettext来支持多语言的方法
2011/05/02 PHP
PHP中register_globals参数为OFF和ON的区别(register_globals 使用详解)
2012/02/05 PHP
(function(){})()的用法与优点
2007/03/11 Javascript
jquery api参考 visualjquery 中国线路 速度快
2007/11/30 Javascript
JavaScript中链式调用之研习
2011/04/07 Javascript
Javascript判断对象是否相等实现代码
2013/03/18 Javascript
javascript的alert box在java中如何显示多行
2014/05/18 Javascript
Javascript中String的常用方法实例分析
2015/06/13 Javascript
理解javascript中DOM事件
2015/12/25 Javascript
javascript history对象详解
2017/02/09 Javascript
Canvas放置反弹效果随机图形(实例)
2017/08/17 Javascript
微信小程序 POST请求的实例详解
2017/09/29 Javascript
用vue写一个仿简书的轮播图的示例代码
2018/03/13 Javascript
jQuery插件Validation表单验证详解
2018/05/26 jQuery
vue.js通过路由实现经典的三栏布局实例代码
2018/07/08 Javascript
[19:54]夜魇凡尔赛茶话会 第一期02:看图识人
2021/03/11 DOTA
python pickle 和 shelve模块的用法
2013/09/16 Python
Python升级提示Tkinter模块找不到的解决方法
2014/08/22 Python
python绘制简单彩虹图
2018/11/19 Python
Python3实现对列表按元组指定列进行排序的方法分析
2018/12/22 Python
python 自定义对象的打印方法
2019/01/12 Python
Python爬虫实战之12306抢票开源
2019/01/24 Python
Python文件操作中进行字符串替换的方法(保存到新文件/当前文件)
2019/06/28 Python
如何用python爬取微博热搜数据并保存
2021/02/20 Python
可以随进度显示不同颜色的css3进度条分享
2014/04/11 HTML / CSS
CSS3实现可关闭的下拉手风琴菜单效果
2015/08/31 HTML / CSS
html5 canvas手势解锁源码分享
2020/01/07 HTML / CSS
美国网上眼镜商城:Zenni Optical
2016/11/20 全球购物
猫咪家具:CatsPlay
2018/11/03 全球购物
思想政治自我鉴定
2013/10/06 职场文书
思想品德自我评价
2014/02/04 职场文书
解决numpy数组互换两行及赋值的问题
2021/04/17 Python
试了下Golang实现try catch的方法
2021/07/01 Golang
【海涛七七解说】DCG第二周:DK VS 天禄
2022/04/01 DOTA