比较两个文件的不同之处用处还是比较大的,特别是比较两个版本的不同之处
[root@localhost python]# cat diftest.py#!/usr/bin/pythonimport difflibimport systry: file1=sys.argv[1] #第一个参数文件 file2=sys.argv[2] #第二个参数文件except Exception,e: print "Error: %s"%str(e) sys.exit()def readfile(filename): #相对来说,可以考虑调用函数,因为需要处理两个文件 try: #检测异常 df=open(filename,"rb") #打开文件 text=df.read().splitlines() #读取文件内容,并根据行进行分割 df.close() #关闭文件 return text #返回文件内容字符串 except IOError,e: #抛出异常 print "ERROR: %s"%str(e) sys.exit()if file1=="" or file2=="": print "please input filename and filename" sys.exit()file1_lines=readfile(file1)file2_lines=readfile(file2)diff=difflib.HtmlDiff() #创建HtmlDiff类对象print diff.make_file(file1_lines,file2_lines)[root@localhost python]# ./diftest.py ip.py ip.py1 >a.html[root@localhost python]# cat ip.py#!/usr/bin/pythonfrom IPy import IPprint IP('192.168.0.0/16').version()ipok=IP('192.0.0.0/8')i=IP('192.168.1.100')print ip1.reverseNames()ip.len()#for x in ip:# print(x)[root@localhost python]# cat ip.py1#!/usr/bin/pythonfrom IPy import IPprint IP('192.168.0.0/16').version()ip=IP('192.0.0.0/80')ip1=IP('192.168.1.100')print ip1.reverseNames()print ip.len().linux#for x in ip:# print(x)kkkk[root@localhost python]#
看一下a.html的效果