对比Nginx配置文件差别

1、概要:

Python2 官方文档:https://docs.python.org/2/library/difflib.htmlhtml

Python2 官方文档:https://docs.python.org/3/library/difflib.htmlpython

  当咱们维护多个Nginx配置时,时常会对比不一样版本配置文件的差别,是运维人员更佳清晰地了解不一样版本迭代后的更新项,实现的思路读取两个须要对比的配置文件,再以换行符做为分隔符,调用difflib.HtmlDIff()生成HTML格式的差别文档。nginx

2、代码实现

实现代码以下:运维

#!/usr/bin/env python

import difflib
import sys

try:
    textfile1=sys.argv[1]               #第一个配置文件路径参数
    textfile2=sys.argv[2]                #第二个配置文件路径参数
except Exception as e:
    print('Error:' +str(e))
    print("Usage: simple3.py filename1  filename2")
    sys.exit()

def readfile(filename):         #文件读取分割函数
    try:
        fileHandle = open(filename,'rt')
        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("Usage: simple3.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格式的对比结果

3、运行代码结果以下

[root@localhost diff_lib]# python3 simple3.py nginx.conf.v1 nginx.conf.v2 > diff2.html函数

生成html页面diff2.html

下图为:nginx.conf.v1与nginx.conf.v2配置文件对比结果spa

相关文章
相关标签/搜索