ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:326.07KB ,
资源ID:596301      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/596301.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(集美大学网络管理实验五.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

集美大学网络管理实验五.docx

1、集美大学网络管理实验五实验五 业务服务监控详解(一)一、实验目的本实验的主要目的是通过运用Python第三方系统基础模块,快速、有效地开发企业级服务监控平台,设计文件与目录差异对比方法、HTTP质量监控、邮件告警等内容。 二、实验内容1、文件内容差异对比方法。2、文件与目录差异对比方法。三、实验工具1、linux2、python及相关的第三方基础模块四、实验步骤模块介绍我们可以通过Python的标准库模块(Python2.3以上就已经自带)difflib模块来实现文件内容的文本差异对比。并且支持输出可读性比较强的HTML文档,与Linux下的diff命令相似。可以使用difflib对比代码,配

2、置文件的差别,在版本控制方面非常有用。5.1 实现两个字符串的差异对比在下列示例程序中,定义了两个字符串,对比差异之后以版本控制风格进行输出。你的运行结果截屏放于此处。在上面的结果中,发现字符串下面有符号标记。其符号含义如下:符号含义 - 包含在第一个系列行中,但不包含第二个。 + 包含在第二个系列行中,但不包含第一个。 两个序列行一致 ? 标志两个序列行存在增量差异 标志着两个序列行存在的差异字符然后现在再来分析一下上面的结果。分析结果(此处写出你的分析结果):Text1 与text2文档存在增量差异以及字符差异Text1里包含而text2没有5.2将字符串对比结果生成美观的HTML格式文档

3、difflib中的HtmlDiff()类支持将比较结果输出为HTML格式,其HtmlDiff()类中的make_file()方法可以生成美观的html文档。我们依旧采用上面的代码,做一些简单的修改:将新文件命名为Difflib.py,运行python Difflib.py Text.html,再使用浏览器打开Text.html文件。运行结果截屏。此处放置你的程序运行结果截屏。python Difflib.py Text.html使用浏览器打开Text.html文件,会发现一个新的问题出来了,我们使用网页打开我们输出的Text.html文件,显示效果如下,换了多个浏览器也是一致乱码。发现只要是显

4、示中文,包括中文和中文输入法的字符都会出现乱码。查看Text.html文本 将utf-8编码改为同样支持中文编码的gbk后,重新使用浏览器打开Text.html文件发现中文显示正常。此HTML文档包括了行号、差异标志、图例等信息,可读性增强了很多。模块介绍Python2.3以上的版本默认自带了模块,无需额外安装。我们可以用这个模块来检查原式与目标文件的一致性,可以实现文件、目录、遍历子目录的差异对比功能。模块使用提供了三个操作方法。 cmp:单文件对比 cmpfiles:多文件对比 dircmp:目录对比5.3单文件对比使用的是(f1,f2,shallow)。其中f1、f2为文件,当两个文件相

5、同时返回True,不同返回False,(shallow默认为True,其意思是只根据os.stat()方法返回的文件基本信息进行对比最后访问时间、修改时间、状态改变时间等,而不考虑文件内容)。当shallow为False时,则os.stat()与文件内容同时进行校验。(1)在/home路径下创建test文件夹,在test文件夹下创建文件夹,在/路径下在代码的当前路径/home/test/。在文件夹下创建两个名为、的文件,在File1中敲入你的姓名,性别。在File3中敲入你的学号。和创建结束。接着创建,它是的副本文件,即直接由复制文件并改名得到。所以按理来说、两个文件完全相同、而与文件不同。下

6、面使用代码进行验证:5.4多文件对比比较两个文件夹内指定文件是否相等。参数dir1,dir2指定要比较的文件夹,参数common指定要比较的文件名列表。函数返回包含3个list元素的元组,分别表示匹配、不匹配以及错误的文件列表。错误的文件指的是不存在的文件,或文件被锁定不可读,或没权限读文件,或者由于其他原因访问不了该文件。 在刚才创建的/路径下,创建两个文件夹dir1和dir2。形成/home/test/dir1和/home/test/dir2。 具体过程:首先创建dir1,dir1下创建以上五个文件。文件内容可以随意的填写。再创建第二个文件夹dir2。将文件夹dir1中的和(,它是的副本文

7、件,即直接由复制文件并改名得到)拷贝到dir2下。再创建新的命名为和两个文件。和文件内容可随意添加。dir2形成下目录tree图:进入dir1目录下,输入命令:md5sum *得到下列文件是dir1文件夹下所有文件的MD5值(你所得的值与下列值格式类似但具体值不同,将你的所得截屏)FBAAF8CC3C1DF70B183CB8E8FBDFC57C *FBAAF8CC3C1DF70B183CB8E8FBDFC57C *16EC37C499F64FC60E95650B500E30A4 *202CB962AC59075B964B07152D234B70 *进入dir1目录下,输入命令:md5sum *

8、下列文件是dir2文件夹下所有文件的MD5值(你所得的值与下列值格式类似但具体值不同,将你的所得截屏)FBAAF8CC3C1DF70B183CB8E8FBDFC57C *FBAAF8CC3C1DF70B183CB8E8FBDFC57C *D41D8CD98F00B204E9800998ECF8427E *CB30FC9CEC9A2D04EF49B22E2066C264 *# 根据MD5值可以知道,两个文件夹下的、相匹配,# 而不匹配,# 另外对于和两个文件只在各自的目录下存在。使用示例代码验证:5.5目录对比目录对比,通过(a,b,ignore,hide)类创建一个目录比较对象用于比较文件夹,

9、通过该类比较两个文件夹,可以获取一些详细的比较结果(如只在A文件夹存在的文件列表),并支持子文件夹的递归比较。dircmp提供了三个方法用于报告比较的结果: report():只比较指定文件夹中的内容(文件与文件夹) report_partial_closure():比较文件夹及第一级子文件夹的内容 report_full_closure():递归比较所有的文件夹的内容另外为了输出更加详细的信息,dircmp类还提供了以下属性: left_list:左边文件夹中的文件与文件夹列表; right_list:右边文件夹中的文件与文件夹列表; common:两边文件夹中都存在的文件或文件夹; lef

10、t_only:只在左边文件夹中存在的文件或文件夹; right_only:只在右边文件夹中存在的文件或文件夹; common_dirs:两边文件夹都存在的子文件夹; common_files:两边文件夹都存在的子文件; common_funny:两边文件夹都存在的子文件夹; same_files:匹配的文件; diff_files:不匹配的文件; funny_files:两边文件夹中都存在,但无法比较的文件; subdirs:将common_dirs目录映射到新的dircmp对象,格式为字典的类型。示例代码,比较dir1和dir2文件夹目录的差异# -*- coding: utf-8 -*-i

11、mport a = /home/test/dir1 # 定义左目录b = /home/test/dir2 # 定义右目录dirobj = (a, b, EXT.txt) # 目录比较,忽略EXT.txt文件# 输出对比结果数据报表,详细说明请参考类方法及属性信息dirobj.report()dirobj.report_partial_closure()dirobj.report_full_closure()print(left_list: + str(dirobj.left_list)print(right_list: + str(dirobj.right_list)print(common:

12、 + str(mon)print(left_only: + str(dirobj.left_only)print(right_only: + str(dirobj.right_only)print(common_dirs: + str(mon_dirs)print(common_files: + str(mon_files)print(common_funny: + str(mon_funny)print(same_file: + str(dirobj.same_files)print(diff_files: + str(dirobj.diff_files)print(funny_files:

13、 + str(dirobj.funny_files)运行结果下:#python diff /home/test/dir1 /home/test/dir2Only in /home/test/dir1 : Only in /home/test/dir2 : Identical files : , Differing files : diff /home/test/ /home/test/Only in /home/test/dir1 : Only in /home/test/dir2 : Identical files : , Differing files : diff /home/test/

14、 /home/test/Only /home/test/dir1 : Only /home/test/dir2 : Identical files : , Differing files : left_list:, , , right_list:, , , common:, , left_only:right_only:common_dirs:common_files:, , common_funny:same_file:, diff_files:funny_files:五、实验报告 实验过程中有遇到很多问题,比如在文件内容差异比较的时候,编写vi文件名时我一开始输入的时difflib执行结果始终错误,可能是与文件里的difflib模板冲突,后面进行修改后就可以执行出正确的结果了。此外,在编写执行文件时要细心谨慎,很多问题都是在写代码的时候出错,可能一个标点符号,字母出错就使程序无法执行,花费了大量时间找问题,所以要认真谨慎。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1