《Python自动化运维之路》 业务服务监控
Posted LyShark
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《Python自动化运维之路》 业务服务监控相关的知识,希望对你有一定的参考价值。
文件内容差异对比方法
目录:
- 实例:两个字符串的差异对比
- 生成美观的对比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自动化运维之路》 业务服务监控的主要内容,如果未能解决你的问题,请参考以下文章