码迷,mamicode.com
首页 > 编程语言 > 详细

《Python自动化运维之路》 业务服务监控(二)

时间:2018-06-07 11:31:36      阅读:129      评论:0      收藏:0      [点我收藏+]

标签:list   adf   获取   nginx   定制   style   .com   不包含   打开   

文件内容差异对比方法

目录:

  • 实例:两个字符串的差异对比
  • 生成美观的对比HTML格式文档
  • 对比Nginx配置文件的差异

 

两个字符串的差异对比

本例通过使用difflib模块实现两个字符串的差异对比,然后以版本控制风格进行输出。

>>> import difflib
>>> 
>>> text1="difflib document v7.4"                #定义字符串1
>>> text2="difflib document v7.5"                #定义字符串2
>>> 
>>> text1_lines=text1.splitlines()               #进行分割,以便于进行对比
>>> text2_lines=text2.splitlines()
>>> 
>>> diff=difflib.Differ()                        #创建Differ()对象
>>> 
>>> differ=diff.compare(text1_lines,text2_lines) #采用compare方法对比字符串
>>> 
>>> print(\n.join(list(differ)))
- difflib document v7.4
?                     ^

+ difflib document v7.5
?                     ^

>>> 

//注释:对符号含义说明
// - #包含在第一个序列行中,但不包含在第二个序列行中
// + #包含在第二个序列行中,但不包含在第一个序列行中
// 空 #两个序列行一致
// ? #两个序列行存在增量差异
// ^ #两个序列行存在差异字符

 

生成美观的对比HTML格式文档

 采用HtmlDiff()类的make_file()方法就可以生成美观的HTML文档啦。

>>> import difflib
>>> 
>>> text1_lines=text1.splitlines()
>>> text2_lines=text2.splitlines()
>>> 
>>> 
>>> text1_lines=text1.splitlines()
>>> text2_lines=text2.splitlines()
>>> 
>>> diff=difflib.HtmlDiff()
>>> print(diff.make_file(text1_lines,text2_lines))

#将生成的代码保存成*.html用浏览器打开就可以看到效果了。美美哒

 

对比Nginx配置文件的差异

import difflib
import sys

try:
    textfile1 = sys.argv[1]                            #第一个文件参数
    textfile2 = sys.argv[2]                            #第二个文件参数
except Exception (e):
    print ("Error:" +str(e))
    print ("Usage: python sample3.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 (Read file Error: +str(error))
        sys.exit()

text1_lines = readfile(textfile1)                      #调用readline函数,获取分隔后的字符串
text2_lines = readfile(textfile2)

d = difflib.HtmlDiff()                                 #创建htmldiff()对象
print (d.make_file(str(text1_lines),str(text2_lines))) #通过make_file方法输出HTML格式的比对结果

//注释:调用格式 python *.py nginx.conf nginx1.conf > index.html

 

文件与目录差异对比方法

目录:

  • 模块常用方法说明
  • 实例:校验源于备份目录的差异

 

 马上更新,稍安污糟,撸起袖子加油干!!!!

 

 

发送电子邮件模块SMTPlib

目录:

  • smtplib模块的常用类与方法
  • 定制个性化的邮件格式方法
  • 定制常用邮件格式示例详解

 

 

 

探测WEB服务质量的方法

目录:

  • 模块常用方法说明
  • 实例:实现探测WEB服务的质量

 

《Python自动化运维之路》 业务服务监控(二)

标签:list   adf   获取   nginx   定制   style   .com   不包含   打开   

原文地址:https://www.cnblogs.com/LyShark/p/9148902.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!