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

yipeiwu_com6年前Python基础

本文实例讲述了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

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

PS:这里再为大家推荐一款相似的在线工具供大家参考:

在线文本比较工具:
http://tools.jb51.net/aideddesign/txt_diff

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python文件与目录操作技巧汇总》、《Python文本文件操作技巧汇总》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程

希望本文所述对大家Python程序设计有所帮助。

相关文章

python调用Matplotlib绘制分布点图

python调用Matplotlib绘制分布点图

Python调用Matplotlib代码绘制分布点,供大家参考,具体内容如下 绘制点图的目的 Matplotlib简介 代码 截图 1.绘制点图的目的 我们实验...

python中字典按键或键值排序的实现代码

字典排序 在程序中使用字典进行数据信息统计时,由于字典是无序的所以打印字典时内容也是无序的。因此,为了使统计得到的结果更方便查看需要进行排序。Python中字典的排序分为按“键”排序和...

在python中实现对list求和及求积

如下所示: # the basic way s = 0 for x in range(10): s += x # the right way s = sum(range(10))...

Python初学者需要注意的事项小结(python2与python3)

一、注意你的Python版本 Python官方网站为http://www.python.org/,当前最新稳定版本为3.6.5,在3.0版本时,Python的语法改动较大,而网上的不少教...

python装饰器与递归算法详解

1、python装饰器 刚刚接触python的装饰器,简直懵逼了,直接不懂什么意思啊有木有,自己都忘了走了多少遍Debug,查了多少遍资料,猜有点点开始明白了。总结了一下解释得比较好的,...